【发布时间】:2021-01-05 13:26:21
【问题描述】:
我想在 SQL Server 2019 中获取 MATKHAU 的 SHA1 哈希,所以我使用 HASHBYTES。但是正如您所见,SELECT HASHBYTES 的值与我使用存储过程时的值不同。它出什么问题了? (在MATKHAU中也是一样的输入)
【问题讨论】:
标签: sql sql-server
我想在 SQL Server 2019 中获取 MATKHAU 的 SHA1 哈希,所以我使用 HASHBYTES。但是正如您所见,SELECT HASHBYTES 的值与我使用存储过程时的值不同。它出什么问题了? (在MATKHAU中也是一样的输入)
【问题讨论】:
标签: sql sql-server
数据类型很重要:
SELECT HASHBYTES('SHA1', '123'); -- here VARCHAR
vs
SELECT HASHBYTES('SHA1', N'123'); -- here NVARCHAR
存储过程将参数作为NVARCHAR,这在向EXEC提供参数时会导致隐式转换。
【讨论】: