Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Funktionen » SQL-Funktionen (A-D)

 

CSCONVERT-Funktion [Zeichenfolge]

Konvertiert Zeichenfolgen zwischen Zeichensätzen

Syntax
CSCONVERT( 
Zeichenfolgenausdruck,
Ziel_Zeichensatz_Zeichenfolge
[, Quell_Zeichensatz_Zeichenfolge ] [, Optionen ] ])
Parameter
  • 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.

Rückgabe

LONG BINARY

Bemerkungen

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.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiele

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;