Ganzzahlen und Hex-Zeichenfolgen in SQL Server konvertieren
Die bereitgestellten Sybase- und Excel-Abfragen zielen darauf ab, Ganzzahlen in Hex-Zahlen und Hex-Zeichenfolgen in Ganzzahlen umzuwandeln. Allerdings können diese Abfragen fehlschlagen, wenn sie in Microsoft SQL Server ausgeführt werden. Glücklicherweise gibt es einfache Methoden, um diese Konvertierungen in SQL Server durchzuführen.
Ganzzahl in Hex konvertieren
Um eine Ganzzahl (dargestellt als int_value) in eine hexadezimale Zeichenfolge umzuwandeln, Verwenden Sie die folgende Syntax:
SELECT CONVERT(VARBINARY(8), int_value)
Diese Abfrage gibt eine 8-Byte-hexadezimale Zeichenfolgendarstellung zurück der Ganzzahl.
Hex in Ganzzahl umwandeln
Um eine hexadezimale Zeichenfolge (dargestellt als hex_string) in eine Ganzzahl umzuwandeln, verwenden Sie die folgende Syntax:
SELECT CONVERT(INT, hex_string)
Diese Abfrage gibt das ganzzahlige Äquivalent der Hexadezimalzahl zurück string.
Update
Im Jahr 2015 wurde ein Update durchgeführt, um die Einschränkung zu beheben, dass die oben genannten Konvertierungen nur mit Hexadezimalwerten funktionieren, die als Ganzzahlliterale bereitgestellt werden. Die folgenden Beispiele zeigen, wie hexadezimale Zeichenfolgen konvertiert werden, die in einer Varchar-Spalte gespeichert werden können:
Mit '0x'-Markierung:
SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1))
Ohne ' 0x' Markierung:
SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2))
Beachten Sie, dass die hexadezimale Zeichenfolge eine gerade Zahl enthalten muss aus Hexadezimalziffern; Eine ungerade Anzahl von Ziffern führt zu einem Fehler.
Weitere Einzelheiten finden Sie im Abschnitt „Binärstile“ der CAST- und CONVERT-Dokumentation für SQL Server. Diese Methoden sollten in SQL Server 2008 oder späteren Versionen ordnungsgemäß funktionieren.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Ganzzahlen und Hex-Strings in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!