在 SQL 服务器中将十进制转换为不带 0x 的十六进制字符串
Convert decimal to hex string without 0x in SQL Server
我要转换
string
------
BB
C1
GB
至
hex
---
4242
4331
4742
使用
SELECT CONVERT(BINARY(2), 'B1')
结果是'0x4231'
但我想从结果中删除 0x
,所以我尝试 varbinary
到字符串:
SELECT CONVERT([VARCHAR](MAX), CONVERT(BINARY(2), 'B1', 2))
结果是'?'
然后我试了
SELECT SUBSTRING(CONVERT(BINARY(2), 'B1'), 2, 4)
结果是'0x42'
如何将 'B1' 转换为 '4231'?
使用系统函数master.dbo.fn_varbintohexstr
转换为十六进制,然后删除前两个字符。
SELECT SUBSTRING(master.dbo.fn_varbintohexstr(convert(binary(2), 'B1')),3,999)
输出:
4231
自己解决了
SELECT convert(varchar(4), convert(binary(2), ('B1')), 2)
我要转换
string
------
BB
C1
GB
至
hex
---
4242
4331
4742
使用
SELECT CONVERT(BINARY(2), 'B1')
结果是'0x4231'
但我想从结果中删除 0x
,所以我尝试 varbinary
到字符串:
SELECT CONVERT([VARCHAR](MAX), CONVERT(BINARY(2), 'B1', 2))
结果是'?'
然后我试了
SELECT SUBSTRING(CONVERT(BINARY(2), 'B1'), 2, 4)
结果是'0x42'
如何将 'B1' 转换为 '4231'?
使用系统函数master.dbo.fn_varbintohexstr
转换为十六进制,然后删除前两个字符。
SELECT SUBSTRING(master.dbo.fn_varbintohexstr(convert(binary(2), 'B1')),3,999)
输出:
4231
自己解决了
SELECT convert(varchar(4), convert(binary(2), ('B1')), 2)