T-SQL - 验证BLOB / varbinary(max)数据

时间:2016-12-08 17:49:49

标签: sql-server tsql varbinarymax

数据正在从表A迁移到表B.

表A有2列 - 标识为Content的标识列和列varbinary(max)

如何验证表B是否已加载Content列的正确数据? T_SQL的EXCEPT运算符是否足够好?有替代方法吗?

由于

1 个答案:

答案 0 :(得分:1)

EXCEPT是这项工作的工具。请注意,与其他SQL Server set operators不同,顺序有所不同。以下是使用EXCEPT进行验证的一种方法:

-- sample data
DECLARE @table1 TABLE (id int identity, content varbinary(max));
DECLARE @table2 TABLE (id int identity, content varbinary(max));

INSERT @table1(content) VALUES (12), (15), (20);
INSERT @table2(content)
SELECT content 
FROM @table1;

--solution
(
  SELECT id, content FROM @table1 
  EXCEPT 
  SELECT id, content FROM @table2
)
UNION ALL 
(
  SELECT id, content FROM @table2
  EXCEPT 
  SELECT id, content FROM @table1
);