-1

出力「0x38F0A2D294A4AEBD1648C952D910AC51C40FE7」を与えるこの選択クエリがあります

SELECT HASHBYTES ('SHA1',CAST(54 AS varchar)+CAST(1 AS varchar)
+CAST('2013-07-26 16:30:49.9786317' AS varchar)+CAST(1 AS varchar))

SQL サーバーの機能を知っていても、列と値を比較することはできません。私はこれをやっています:

SELECT 'Worked!'
WHERE  HASHBYTES ('SHA1',CAST(54 AS varchar)+CAST(1 AS varchar)+
CAST('2013-07-26 16:30:49.9786317' AS varchar)+CAST(1 AS varchar))=0x38F0A2D294A4AEBD1648C952D910AC51C40FE7

これは単に機能しません。奇妙な部分は、値が異なる他のケースでも機能することです。

4

1 に答える 1

0

これを試して:

declare @Hashthis nvarchar(2000)
SELECT @Hashthis=HASHBYTES ('SHA1',CAST(54 AS varchar)+CAST(1 AS varchar)
+CAST('2013-07-26 16:30:49.9786317' AS varchar)+CAST(1 AS varchar))

SELECT 'Worked' where HASHBYTES ('SHA1',CAST(54 AS varchar)+CAST(1 AS varchar)
+CAST('2013-07-26 16:30:49.9786317' AS varchar)+CAST(1 AS varchar))=@Hashthis
于 2013-07-26T20:34:28.907 に答える