我有一个表,其中包含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
我的错误在哪里?任何帮助表示赞赏。
答案 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;