Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

3 Möglichkeiten zum Konvertieren von Dezimalzahlen in Hexadezimalzahlen in SQL Server (T-SQL)

Hier sind 3 Möglichkeiten, um in SQL Server von Dezimal zu Hexadezimal zu konvertieren.

Beispiel 1 – Die CONVERT()-Funktion

Zuerst verwenden wir CONVERT() Funktion. Dadurch können Sie zwischen Datentypen in SQL Server konvertieren.

Hier ist ein Beispiel für die Verwendung dieser Funktion, um einen Dezimalwert in einen Hexadezimalwert umzuwandeln:

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

Ergebnis:

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

In diesem Fall konvertieren wir den Dezimalwert 64683 zu VARBINARY(8) .

Beispiel 2 – Die CAST()-Funktion

Wir können alternativ den CAST() verwenden Funktion dasselbe wie im vorherigen Beispiel:

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

Ergebnis:

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

Beachten Sie, dass CAST() und CONVERT() verwenden Sie leicht unterschiedliche Syntaxen. Im Fall von CAST() der zu wandelnde Wert steht an erster Stelle, während es bei CONVERT() umgekehrt ist .

Beispiel 3 – Die FORMAT()-Funktion

Wir können auch das FORMAT() verwenden Funktion, um den Dezimalwert als Hexadezimalzeichenfolge zu formatieren.

SELECT FORMAT(64683, 'X') Result;

Ergebnis:

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

Das X Argument gibt an, dass das resultierende Format hexadezimal sein soll.

Sie können auch ein x in Kleinbuchstaben verwenden um anzugeben, dass das Ergebnis Kleinbuchstaben verwendet:

SELECT FORMAT(64683, 'x') Result;

Ergebnis:

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

Der Rückgabewert dieser Funktion ist nvarchar . Dies unterscheidet sich von den beiden anderen Funktionen, die den Wert als binäre Konstante zurückgeben (erkennbar am 0x Präfix).