Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

3 modi per convertire decimali in esadecimali in SQL Server (T-SQL)

Ecco 3 modi per convertire da decimale a esadecimale in SQL Server.

Esempio 1 – La funzione CONVERT()

Per prima cosa, useremo il CONVERT() funzione. Ciò consente di convertire tra tipi di dati in SQL Server.

Ecco un esempio di utilizzo di questa funzione per convertire un valore decimale in esadecimale:

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

Risultato:

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

In questo caso, convertiamo il valore decimale 64683 a VARBINARY(8) .

Esempio 2 – La funzione CAST()

In alternativa possiamo usare il CAST() funzione per fare la stessa cosa dell'esempio precedente:

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

Risultato:

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

Nota che CAST() e CONVERT() usa sintassi leggermente diverse. Nel caso di CAST() il valore da trasmettere viene prima, mentre è il contrario con CONVERT() .

Esempio 3 – La funzione FORMAT()

Possiamo anche usare il FORMAT() funzione per formattare il valore decimale come stringa esadecimale.

SELECT FORMAT(64683, 'X') Result;

Risultato:

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

La X argomento è ciò che specifica che il formato risultante deve essere esadecimale.

Puoi anche usare una x minuscola per specificare che il risultato utilizza lettere minuscole:

SELECT FORMAT(64683, 'x') Result;

Risultato:

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

Il valore di ritorno di questa funzione è nvarchar . Questo è diverso dalle altre due funzioni, che restituiscono il valore come una costante binaria (si può dire da 0x prefisso).