将二进制转换为字符型

3

我需要将二进制输出更改为varchar(字符串),但它必须与二进制输出相同。但是,在将二进制(十六进制)值转换为varchar时,会返回空集。请帮帮我。

例如

如果这是我的二进制值0x24000000008B0100000000

我需要在将其转换为字符串后得到相同的0x24000000008B0100000000输出。


将varbinary转换为字符串的SQL Server方法 - Prisoner
@Prisoner 但是输出中的0x被删除了。我需要输出包含它。 - SujithTee
3个回答

10
declare @val binary(20)
set @val=0x24000000008B0100000000

select @val, CONVERT(varchar(max),@val,1)

3
这对我也有效:
SELECT CONVERT(VARCHAR(1000), varbinary_val, 1);

只需用varbinary_val替换您的值即可。


0

应该像这样工作:

DECLARE @a BINARY(20) = 0x24000000008B0100000000
SELECT  CONVERT(varchar(max),@a,1), @a

但是输出中的0x被删除了。我需要输出包含它。 - SujithTee
@SujithTee 我更新了我的帖子。我只是将 convert 的第三个参数从 2 改为了 1。 - Esteban P.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接