【发布时间】:2019-11-13 01:04:39
【问题描述】:
我要转换
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”?
【问题讨论】:
-
不要将存储在变量/列中的实际二进制值与用于以您可以看到的方式显示它的表示混淆。 “0x”位(在您的第一个查询中)是 SSMS 显示该特定数据类型的方式的产物。
-
使用 tsql 很少需要这样做。所以这就引出了你想要完成什么的问题。
标签: sql-server varbinary