如何以人类可读的形式将列值从varbinary(max)转换为varchar?
发布于 2010-07-20 21:02:03
“将varbinary转换为varchar”可能意味着不同的事情。
如果varbinary是SQL Server中字符串的二进制表示形式(例如,通过直接转换为varbinary或从DecryptByPassPhrase或DECOMPRESS函数返回),则只需将其转换为CAST即可
declare @b varbinary(max)
set @b = 0x5468697320697320612074657374
select cast(@b as varchar(max)) /*Returns "This is a test"*/这相当于在样式参数为0的情况下使用CONVERT。
CONVERT(varchar(max), @b, 0)其他样式参数可用于CONVERT,以满足其他答案中提到的不同要求。
发布于 2013-03-09 02:39:43
下面的表达式适用于我:
SELECT CONVERT(VARCHAR(1000), varbinary_value, 2);Here是关于样式选择(第三个参数)的更多细节。
发布于 2015-07-23 08:48:16
实际上最好的答案是
SELECT CONVERT(VARCHAR(1000), varbinary_value, 1);使用"2“会截断varbinary开头的"0x”。
https://stackoverflow.com/questions/3289988
复制相似问题