MySQL unterstützt Hexadezimalwerte. In numerischen Kontexten verhalten sich diese wie Integers (mit 64-Bit-Präzision). In String-Kontexten hingegen agieren sie als binäre Strings, wobei jedes Hexadezimalziffernpaar in ein Zeichen umgewandelt wird:
mysql>SELECT x'4D7953514C';
-> 'MySQL' mysql>SELECT 0xa+0;
-> 10 mysql>SELECT 0x5061756c;
-> 'Paul'
Der Standardtyp eines Hexadezimalwerts ist ein String. Wenn Sie
gewährleisten wollen, dass der Wert als Zahl behandelt wird,
können Sie CAST(... AS UNSIGNED)
verwenden:
mysql> SELECT 0x41, CAST(0x41 AS UNSIGNED);
-> 'A', 65
Die Syntax
x'
basiert auf Standard-SQL. Die Syntax hexstring
'0x
basiert auf ODBC. Hexadezimal-Strings werden von ODBC häufig
zur Angabe von Werten für BLOB
-Spalten
verwendet.
Sie können mit der Funktion HEX()
einen
String oder eine Zahl in einen String im Hexadezimalformat
umwandeln:
mysql>SELECT HEX('cat');
-> '636174' mysql>SELECT 0x636174;
-> 'cat'
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.