如何以人类可读的形式将列值从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
发布于 2015-07-23 08:48:16
实际上最好的答案是
SELECT CONVERT(VARCHAR(1000), varbinary_value, 1);
使用"2
“会截断varbinary
开头的"0x
”。
https://stackoverflow.com/questions/3289988
复制相似问题