在 SQL Server 中转换整数和十六进制字符串
提供的 Sybase 和 Excel 查询旨在将整数转换为十六进制并将十六进制字符串转换为整数。但是,这些查询在 Microsoft SQL Server 中执行时可能会失败。幸运的是,在 SQL Server 中有一些简单的方法可以执行这些转换。
将整数转换为十六进制
要将整数(表示为 int_value)转换为十六进制字符串,使用以下语法:
SELECT CONVERT(VARBINARY(8), int_value)
此查询将返回 8 字节整数的十六进制字符串表示形式。
将十六进制转换为整数
要将十六进制字符串(表示为 hex_string)转换为整数,请使用以下语法:
SELECT CONVERT(INT, hex_string)
此查询将返回相当于十六进制的整数string.
更新
2015 年进行了更新,以解决上述转换仅适用于作为整数文字提供的十六进制值的限制。以下示例演示如何转换可能存储在 varchar 列中的十六进制字符串:
使用 '0x' 标记:
SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1))
不带 ' 0x' 标记:
SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2))
请注意十六进制字符串必须包含偶数个十六进制数字;奇数位数将导致错误。
有关更多详细信息,请参阅 SQL Server 的 CAST 和 CONVERT 文档的“二进制样式”部分。这些方法应该在 SQL Server 2008 或更高版本中正常运行。
以上是如何在 SQL Server 中转换整数和十六进制字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!