Konvertiert Zeichenfolgen zwischen Zeichensätzen
CSCONVERT( Zeichenfolgenausdruck, Ziel_Zeichensatz_Zeichenfolge [, Quell_Zeichensatz_Zeichenfolge ] [, Optionen ] ])
Zeichenfolgenausdruck Die Zeichenfolge
Ziel_Zeichensatz_Zeichenfolge Der Zielzeichensatz. Ziel_Zeichensatz_Zeichenfolge kann einer der folgenden Werte sein:
os_charset Alias für den Zeichensatz, der vom Betriebssystem verwendet wird, das den Datenbankserver hostet.
char_charset Alias für den von der Datenbank verwendeten CHAR-Zeichensatz
nchar_charset Alias für den von der Datenbank verwendeten NCHAR-Zeichensatz
Jedes andere unterstützte Zeichensatzlabel Sie können ein beliebiges von SQL Anywhere unterstütztes Zeichensatzlabel angeben.
Quell_Zeichensatz_Zeichenfolge Der Zeichensatz, der vom Original-Zeichenfolgenausdruck verwendet wird. Der Standardwert ist db_charset (der Datenbank-Zeichensatz). Quell_Zeichensatz_Zeichenfolge kann eine der folgenden sein:
os_charset Alias für den vom Betriebssystem verwendeten Zeichensatz
char_charset Alias für den von der Datenbank verwendeten CHAR-Zeichensatz
nchar_charset Alias für den von der Datenbank verwendeten NCHAR-Zeichensatz
Jedes andere unterstützte Zeichensatzlabel Sie können ein beliebiges von SQL Anywhere unterstütztes Zeichensatzlabel angeben.
Optionen Sie können eine der folgenden Optionen festlegen:
BOM lesen oder schreiben Standardmäßig sind die Werte auf read_bom= on und write_bom=off eingestellt. Sie können die Werte auf read_bom=off und write_bom=on ändern.
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/2003 Erweiterung des Herstellers
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. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |