sql server—如何在sql表中复制计算的哈希值?

pb3skfrl  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(286)

我们在表中有一列是计算的哈希:


我的问题是,如何复制计算出的值,以便加入计算?例如,给定这一行:

我正在尝试:

select (CONVERT([uniqueidentifier],hashbytes('MD2',concat('ABC-123','en'))));

哪里 ABC-123 将是的价值 Phrase . 但这给了我一个完全不同的散列值:
a549ab46-7111-6833-f5a9-c0102f63e822型
我想是因为它用的不是同一个 uniqueidentifier ?
我需要做什么才能复制原始计算和存储的哈希值?

clj7thdc

clj7thdc1#

必须散列相同的数据类型。所以把目标短语转换成 nvarchar(max) 在散列之前,它应该匹配。如

CONVERT([uniqueidentifier],hashbytes('MD2',cast(concat('ABC-123' ,'en') as nvarchar(max))))

相关问题