在SQL Server 中,有兩個轉換函數可用來在整數和十六進位值之間進行轉換:
CONVERT(VARBINARY,
SELECT CONVERT(VARBINARY(8), 16777215);
這將傳回十六進位值 0xFFFFFF,這是整數 16777215 的十六進位表示。
CONVERT(INT ,
SELECT CONVERT(INT, '0xFFFFFF');
這將傳回整數 16777215,它是十六進位字串 0xFFFFFF 的整數表示。
注意: 十六進位字串必須包含偶數個十六進位數字。如果包含奇數個數字,則會引發錯誤。
上面的範例有一個限制,即僅當 HEX 值為以整數文字形式給出。如果要轉換的值是十六進位字串(例如在varchar 列中找到),請使用以下內容:
如果存在「0x」標記:
SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1));
如果「0x」標記不是目前:
SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2));
更多詳細資訊可以在 CAST 和 CONVERT (Transact-SQL) 的「二元樣式」部分中找到。此功能在 SQL Server 2008 或更高版本中可用。
以上是如何在 SQL Server 中進行整數和十六進位值之間的轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!