Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

3 façons de convertir décimal en hexadécimal dans SQL Server (T-SQL)

Voici 3 façons de convertir de décimal en hexadécimal dans SQL Server.

Exemple 1 - La fonction CONVERT()

Tout d'abord, nous allons utiliser le CONVERT() une fonction. Cela vous permet de convertir entre les types de données dans SQL Server.

Voici un exemple d'utilisation de cette fonction pour convertir une valeur décimale en hexadécimal :

SELECT CONVERT(VARBINARY(8), 64683) Result;

Résultat :

+------------+
| Result     |
|------------|
| 0x0000FCAB |
+------------+

Dans ce cas, nous convertissons la valeur décimale 64683 à VARBINARY(8) .

Exemple 2 - La fonction CAST()

Nous pouvons alternativement utiliser le CAST() fonction pour faire la même chose que l'exemple précédent :

SELECT CAST(64683 AS VARBINARY(8)) Result;

Résultat :

+------------+
| Result     |
|------------|
| 0x0000FCAB |
+------------+

Notez que CAST() et CONVERT() utiliser des syntaxes légèrement différentes. Dans le cas de CAST() la valeur à convertir vient en premier, alors que c'est l'inverse avec CONVERT() .

Exemple 3 - La fonction FORMAT()

On peut aussi utiliser le FORMAT() pour formater la valeur décimale sous forme de chaîne hexadécimale.

SELECT FORMAT(64683, 'X') Result;

Résultat :

+----------+
| Result   |
|----------|
| FCAB     |
+----------+

Le X l'argument est ce qui spécifie que le format résultant doit être hexadécimal.

Vous pouvez également utiliser un x minuscule pour spécifier que le résultat utilise des lettres minuscules :

SELECT FORMAT(64683, 'x') Result;

Résultat :

+----------+
| Result   |
|----------|
| fcab     |
+----------+

La valeur de retour de cette fonction est nvarchar . Ceci est différent des deux autres fonctions, qui renvoient la valeur sous forme de constante binaire (vous pouvez le dire par le 0x préfixe).