将BINARY值连接到NVARCHAR字符串

时间:2014-04-22 03:39:29

标签: sql-server tsql sql-server-2008-r2 concatenation

我有BINARY类型的变量,我将此值发送到另一个函数来创建一个动态查询,我想要将此值连接起来并面临错误 -

这是我的代码 -

DECLARE @Bin BINARY =0x000002A2000001BC0001
        ,@SQL NVARCHAR(MAX)
SELECT @SQL = 'SELECT ' + @Bin + 'FROM TEST'

SELECT @SQL 

运行上面的代码时出现以下错误 -

  

消息402,级别16,状态1,行3数据类型varchar和二进制   在add运算符中不兼容。

我需要连接,我不希望二进制文件转换为字符串而不是值本身。我进行了广泛的搜索,但未能得到正确的结果。我最接近的是这个链接http://www.sqlservercentral.com/Forums/Topic613703-338-1.aspx

有关如何执行此操作的任何帮助?我也尝试过CAST和CONVERT,但无济于事。

1 个答案:

答案 0 :(得分:1)

请将代码更改为以下内容,并检查希望这会有所帮助。

SQL:

DECLARE @Bin BINARY(10)=0x000002A2000001BC0001,@SQL NVARCHAR(MAX)
SELECT @SQL = 'SELECT ' + CONVERT(nvarchar(max), @Bin, 1) + ' FROM TEST'
SELECT @SQL 

这将返回查询中二进制文件的原始值。