SQL Server从varbinary转换为varchar

时间:2018-01-27 23:08:54

标签: sql-server

我一直在撞墙挡在头上。我试图从SQL Server数据库中具有varbinary(28)类型的字段中获取数据。

我无法解决如何将数据从十六进制转换回字符的问题。

我知道列=' 1081X'存储在数据库中的十六进制是0x7E959C9ABB818C

我试过了:

SELECT
    0x7E959C9ABB818C, '1081X',
    CONVERT(VARBINARY(28), '1081X'),
    CONVERT(VARBINARY(28), N'1081X')

-- 0x7E959C9ABB818C 1081X   0x3130383158    0x31003000380031005800

有关如何检索' 1081X'的任何想法从代码0x7E959C9ABB818C?

1 个答案:

答案 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