此处显示的我的T-SQL代码未串联项目

时间:2019-04-05 17:02:43

标签: sql-server tsql

DECLARE @hashThis NVARCHAR(MAX);

SET @hashThis = CONCAT(Branch | '|' |
                       DiscountGroup | '|' |
                       ItemNumber | '|' |
                       PriceColumn |'|' |
                       LastUpdatedDate |'|' |
                       PMBasis |'|' |
                       PMOper |'|' |
                       PMMult |'|' |
                       DeletedOnDate |'|' |
                       PriceMatrixKey |'|' |
                       ODS_INSERT_TS)

SELECT HASHBYTES('MD5', @hashThis);

1 个答案:

答案 0 :(得分:0)

您需要花一些精力来学习tsql语法。您还遗漏了上一个问题中提供的一些重要信息。最后,您没有提出问题-只是说有些事情不起作用。你怎么知道的?它产生错误了吗?如果是这样,请发布完整的错误消息。没有人能读懂您的想法或看到您的屏幕。努力提供有用的信息和上下文。

根据您在另一篇文章中提供的内容,您似乎想要基于连接的行值为表的每一行生成一个哈希值。像这样(请注意“喜欢”-如果“不起作用”则需要对其进行更正):

select *, 
   HASHBYTES('MD5',concat(Branch, '|', DiscountGroup, '|', Item,...) as etl_checksum 
from ETL_SSIS.PriceMatrix_Work
order by ...;

我将把所有所需的列添加到哈希函数的任务留给您。