SQL Server 2008中的Concat Blob数据

时间:2019-05-20 06:37:01

标签: sql-server-2008 blob

我有一个表,其中包含SQL SERVER 2008中的图像数据类型:

select ID,refID,blobcontent from dbo.Script where RefId=6000

ID   refID  blobcontent
456   45         0x50232323
987   45         0x54238798
852   45         0x52741985

我想连续连接blobcontent并通过refID插入到新表组中。 (斑点内容很长,我只是粘贴了一个示例)。

输出示例:

ID        ConcatedBlob
456       0x5023232342387982741985

我知道sql server 2008中没有直接的concat(),所以我写了以下查询:

DECLARE @GroupDept VARBINARY(max)  
SELECT  @GroupDept = COALESCE(@GroupDept + ', ', '')+ blobcontent
FROM dbo.Script where RefId=6000
SELECT @GroupDept as 'total'

但收到错误:

The data types varbinary(max) and varchar are incompatible in the add operator

我的错误在哪里?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

尝试一下:

首先,创建并填充示例表(在您将来的问题中为我们保存此步骤):

DECLARE @Script AS TABLE
(
    Id int,
    RefId int,
    Blobcontent varbinary(max)
);

INSERT INTO @Script (Id, RefId, Blobcontent) VALUES
(456, 45, 0x50232323),
(987, 45, 0x54238798),
(852, 45, 0x52741985);

查询:

DECLARE @blobcontent varbinary(max)

SELECT @blobcontent = COALESCE(@blobcontent, 0x0) + blobcontent
FROM @Script
ORDER BY Id;

SELECT @blobcontent;