Dans SQL Server, il existe deux fonctions de conversion qui peuvent être utilisées pour convertir entre des entiers et des valeurs hexadécimales :
Le La fonction CONVERT(VARBINARY,
SELECT CONVERT(VARBINARY(8), 16777215);
Cela renverra la valeur hexadécimale 0xFFFFFF, qui est la représentation hexadécimale de l'entier 16777215.
Le CONVERT(INT ,
SELECT CONVERT(INT, '0xFFFFFF');
Cela renverra l'entier 16777215, qui est la représentation entière de la chaîne hexadécimale 0xFFFFFF.
Remarque : La chaîne hexadécimale doit contenir un nombre pair de chiffres hexadécimaux. S'il contient un nombre impair de chiffres, une erreur sera générée.
L'exemple ci-dessus a la limitation qu'il ne fonctionne que lorsque la valeur HEX est donné sous forme d'un littéral entier. Si la valeur à convertir est une chaîne hexadécimale (comme celle trouvée dans une colonne varchar), utilisez ce qui suit :
Si le marqueur '0x' est présent :
SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1));
Si le marqueur « 0x » n'est PAS présent :
SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2));
Plus de détails peuvent se trouvent dans la section "Styles binaires" de CAST et CONVERT (Transact-SQL). Cette fonctionnalité est disponible dans SQL Server 2008 ou version ultérieure.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!