gpt4 book ai didi

sql - 将 sql 结果集聚合为 HashBytes 值

转载 作者:行者123 更新时间:2023-12-01 05:18:28 25 4
gpt4 key购买 nike

有没有相当于

CHECKSUM_AGG(CHECKSUM(*)) 

对于哈希字节?

我知道你可以
SELECT 
HashBytes('MD5',
CONVERT(VARCHAR,Field1) + '|'
+ CONVERT(VARCHAR,Field2) + '|'
+ CONVERT(VARCHAR,field3) + '|'
)
FROM MyTable

但我不确定如何将所有计算出的哈希字节记录聚合为 SQL 中的单个值。

我想要这样做的一个原因是在将数据移动到我的系统之前确定自上次加载以来源表中的数据是否发生了变化。

最佳答案

如果您想检查给定的行是否已更改,我强烈建议您使用“时间戳”列。
Sql Server 在每次修改行时都会自动更新该值。
那么如果一行被修改了,修改后的值就会不一样,不用实现逻辑,也不需要查询整个表就可以注意到。

但是,如果您想知道是否至少更新了一行,我建议您使用:

声明@Tablename sysname = 'MyTable';

SELECT modify_date FROM sys.tables WHERE name = @Tablename;

(如果您在业务层中使用 .Net,那么查看 SqlDependency 可能会很有趣)

关于sql - 将 sql 结果集聚合为 HashBytes 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18241158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com