MySQL supporte les valeurs hexadécimales. Dans un contexte numérique, elles agissent comme des entiers (précision 64-bit). Dans un contexte de chaîne, elles agissent comme une chaîne binaire où chaque paire de caractères hexadécimaux est convertie en caractère :
mysql>SELECT x'4D7953514C';
-> 'MySQL' mysql>SELECT 0xa+0;
-> 10 mysql>SELECT 0x5061756c;
-> 'Paul'
En MySQL 4.1 (et en MySQL 4.0 si vous utilisez l'option
--new
), le type par défaut d'une valeur
hexadécimale est chaîne. Si vous voulez vous assurer qu'une
telle valeur est traitée comme un nombre, vous pouvez utiliser
CAST(... AS UNSIGNED)
:
mysql> SELECT 0x41, CAST(0x41 AS UNSIGNED);
-> 'A', 65
La syntaxe 0x
est basée sur ODBC. Les
chaînes hexadécimales sont souvent utilisées par ODBC pour
fournir des valeurs aux colonnes BLOB
. La
syntaxe x'hexstring'
est nouvelle en 4.0 et
est basée sur le standard SQL.
Depuis MySQL 4.0.1, vous pouvez convertir une chaîne ou nombre
en chaîne au format hexadécimal avec la fonction
HEX()
:
mysql>SELECT HEX('cat');
-> '636174' mysql>SELECT 0x636174;
-> 'cat'
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.