在 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中文网其他相关文章!