我一直在撞墙挡在头上。我试图从SQL Server数据库中具有varbinary(28)
类型的字段中获取数据。
我无法解决如何将数据从十六进制转换回字符的问题。
我知道列=' 1081X'存储在数据库中的十六进制是0x7E959C9ABB818C
。
我试过了:
SELECT
0x7E959C9ABB818C, '1081X',
CONVERT(VARBINARY(28), '1081X'),
CONVERT(VARBINARY(28), N'1081X')
-- 0x7E959C9ABB818C 1081X 0x3130383158 0x31003000380031005800
有关如何检索' 1081X'的任何想法从代码0x7E959C9ABB818C?
答案 0 :(得分:0)
我得到了不同的结果。
您确定价值0x7E959C9ABB818C
应转换为:'1081X'
--what OP appears to be asking:
select cast(0x7E959C9ABB818C as varchar(max)) --result: ~•œš»Œ
--what does cast of OP question provide?
select cast('1081X' as varbinary(max)) --result: 0x3130383158
--test cast back
select cast(0x3130383158 as varchar(max)) --result: 1081X