CONVERT()
stellt eine Möglichkeit zur
Konvertierung von Daten zwischen verschiedenen Zeichensätzen
dar. Die Syntax sieht wie folgt aus:
CONVERT(expr
USINGtranscoding_name
)
Bei MySQL sind die Transkodierungs- mit den entsprechenden Zeichensatznamen identisch.
Ein paar Beispiele:
SELECT CONVERT(_latin1'Müller' USING utf8); INSERT INTO utf8table (utf8column) SELECT CONVERT(latin1field USING utf8) FROM latin1table;
CONVERT(... USING ...)
ist entsprechend der
SQL-Standardspezifikation implementiert.
Sie können auch mit CAST()
einen String in
einen anderen Zeichensatz umwandeln. Die Syntax sieht wie folgt
aus:
CAST(character_string
AScharacter_data_type
CHARACTER SETcharset_name
)
Beispiel:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8);
Wenn Sie CAST()
ohne Angabe von
CHARACTER SET
verwenden, werden Zeichensatz
und Sortierfolge des Ergebnisses durch die Systemvariablen
character_set_connection
und
collation_connection
definiert. Wenn Sie
CAST()
mit CHARACTER SET X
benutzen, hat das Ergebnis den Zeichensatz X
und als Sortierfolge die Standardsortierfolge von
X
.
Sie können eine COLLATE
-Klausel nicht
innerhalb, wohl aber außerhalb von CAST()
verwenden. Mithin ist CAST(... COLLATE ...)
unzulässig, CAST(...) COLLATE ...
aber ist
zulässig.
Beispiel:
SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.