Konvertiert Zeichenfolgen zwischen Zeichensätzen.
CSCONVERT( string-expression, target-charset-string [, source-charset-string [, options ] ] )
Zeichenfolgenausdruck Die Zeichenfolge, die konvertiert werden soll.
target-charset-string Der Zielzeichensatz. target-charset-string kann ein beliebiges von SQL Anywhere unterstütztes Zeichensatzlabel sein. Er kann auch Folgendes sein:
os_charset Geben Sie diese Klausel an, um den Zeichensatz zu verwenden, der von dem Betriebssystem verwendet wird, das den Datenbankserver hostet.
char_charset Geben Sie diese Klausel an, um den von der Datenbank verwendeten CHAR-Zeichensatz zu verwenden.
nchar_charset Geben Sie diese Klausel an, um den von der Datenbank verwendeten NCHAR-Zeichensatz zu verwenden.
Optionen Sie können eine der folgenden Optionen festlegen:
Bytereihenfolge-Markierung (BOM) lesen oder schreiben Geben Sie read_bom=on oder read_bom=off an, um Lese-Bytereihenfolge-Markierungen zu aktivieren oder zu deaktivieren. Geben Sie write_bom=on oder write_bom=off an, um Schreib-Bytereihenfolge-Markierungen zu aktivieren oder zu deaktivieren. Standardmäßig ist das Verhalten read_bom=on und write_bom=off.
source-charset-string Der für Zeichenfolgenausdruck verwendete Zeichensatz. Der Standardwert ist "db_charset" (der Zeichensatz der Datenbank). source-charset-string kann ein beliebiges von SQL Anywhere unterstütztes Zeichensatzlabel sein. Er kann auch Folgendes sein:
os_charset Geben Sie diese Klausel an, um den Zeichensatz zu verwenden, der von dem Betriebssystem verwendet wird, das den Datenbankserver hostet.
char_charset Geben Sie diese Klausel an, um den von der Datenbank verwendeten CHAR-Zeichensatz zu verwenden.
nchar_charset Geben Sie diese Klausel an, um den von der Datenbank verwendeten NCHAR-Zeichensatz zu verwenden.
LONG BINARY
Sie können eine Liste der Zeichensätze aufrufen, die von SQL Anywhere unterstützt werden, indem Sie den folgenden Befehl ausführen:
dbinit -le |
Weitere Hinweise zu Zeichensatzlabels, die Sie mit dieser Funktion verwenden können, finden Sie unter Unterstützte Zeichensätze.
SQL/2008 Erweiterung des Herstellers. Im SQL/2008-Standard erfolgt die Konvertierung von Zeichenfolgendaten aus einem Zeichensatz in einen anderen mithilfe der CONVERT-Funktion (nicht zu verwechseln mit der SQL Anywhere-Funktion CONVERT), die andere Argumente besitzt als CSCONVERT.
Dieses Fragment konvertiert die Spalte mytext vom Zeichensatz für Traditionelles Chinesisch in den Zeichensatz für Vereinfachtes Chinesisch:
SELECT CSCONVERT( mytext, 'cp936', 'cp950' ) FROM mytable; |
Dieses Fragment konvertiert die Spalte mytext vom Zeichensatz der Datenbank in den Zeichensatz für Vereinfachtes Chinesisch:
SELECT CSCONVERT( mytext, 'cp936' ) FROM mytable; |
Wird ein Dateiname in der Datenbank gespeichert, erfolgt die Speicherung im Zeichensatz der Datenbank. Wenn der Server aus einer Datei lesen oder in eine Datei schreiben soll, deren Name in einer Datenbank gespeichert ist (beispielsweise in einer externen gespeicherten Prozedur), muss der Dateiname explizit in den Zeichensatz des Betriebssystems konvertiert werden, bevor ein Zugriff erfolgen kann. Bei in der Datenbank gespeicherten Dateinamen, die von einem Client abgerufen werden, erfolgt eine automatische Umwandlung in den Zeichensatz des Clients, sodass eine explizite Konvertierung hier nicht notwendig ist.
Dieses Fragment konvertiert den Wert in der Spalte "filename" vom Datenbank-Zeichensatz in den Zeichensatz des Betriebssystems:
SELECT CSCONVERT( filename, 'os_charset' ) FROM mytable; |
Eine Tabelle enthält eine Liste von Dateinamen. Eine externe gespeicherte Prozedur nimmt einen Dateinamen aus dieser Tabelle als Parameter und liest direkt von dieser Datei Informationen aus. Wird eine Konvertierung des Zeichensatzes nicht benötigt, funktioniert die folgende Anweisung:
SELECT MYFUNC( filename ) FROM mytable; |
Die Klausel mytable gibt eine Tabelle mit einer Dateinamensspalte an. Wenn Sie jedoch den Dateinamen in den Zeichensatz des Betriebssystems konvertieren müssen, sollten Sie die folgende Anweisung verwenden:
SELECT MYFUNC( csconvert( filename, 'os_charset' ) ) FROM mytable; |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |