SQL Server user
テーブルの新しい列を別の列のハッシュで更新しようとしています。更新はselectと異なるハッシュ値を挿入します
select文で変換をテストすると、オンラインのハッシュジェネレータから取得した正しいMD5ハッシュが返されます。
select CONVERT(VARCHAR(32), HashBytes('MD5', 'valuetohash'), 2)
以下のようにIはUPDATEステートメントで、この同じ変換を使用する場合、私はハッシュ同じ値で、次にSELECT文を挿入された異なる値を取得します。
UPDATE users SET [newcolumn1] = CONVERT(VARCHAR(32), HashBytes('MD5', column1), 2)
何が間違っていますか?
あなたの列は 'column1'ですか? – ughai
また、データに空白や印刷可能でない文字が含まれている可能性があります。 – ughai
これは、column1がnvarcharであるという問題でした。しかし、私はnvarcharを使用するように見えることができないハッシュです。この作業を行う唯一の方法は、nvarcharではない列で使用することです。つまり、ダブルバイト文字を許可できません。 – rocketdoctor