2
我想用另一列的哈希更新我的SQL Server user
表中的新列。更新插入不同的哈希值比選擇不
當我使用select語句測試轉換時,它將返回從在線哈希生成器獲得的正確MD5哈希值。
select CONVERT(VARCHAR(32), HashBytes('MD5', 'valuetohash'), 2)
當我使用在更新語句此相同的轉換如下所示我得到不同的值,則插入有散列相同值的選擇語句。
UPDATE users SET [newcolumn1] = CONVERT(VARCHAR(32), HashBytes('MD5', column1), 2)
我做錯了什麼?
什麼類型是你的列'column1'? – ughai
你的數據也可能包含空格或不可打印的字符,這將改變散列值 – ughai
原來這是column1是nvarchar的問題。但我似乎無法使用nvarchar是散列。使這項工作的唯一方法是在不是nvarchar的列上使用它,這意味着我不能允許雙字節字符。 – rocketdoctor