将varbinary转换为varchar

时间:2016-01-18 19:57:24

标签: sql sql-server

请参阅下面的SQL:

select substring(hash1,1,4) from (
    select hashbytes('SHA1', 'Ian' + 'Maria') as hash1
    ) as hashtable

返回:

0xC0326BA0

返回了八个字符:即0X + 8个字符。为什么返回8个字符?我意识到这是一个简单的问题,但我今晚没有找到答案。

1 个答案:

答案 0 :(得分:4)

在二进制数据类型上使用SUBSTRING时,它会返回length个字节,而不是字符,因此在这种情况下,您将返回四个字节C0,{{ 1}},326B

如果您确实需要将4个字符的随机二进制数据解释为字符串,则可以执行以下操作:

A0

但它不一定是数据意味着什么。