我有这个选择查询给出输出“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
这根本行不通。奇怪的是,当值不同时,它适用于其他情况。
答案 0 :(得分: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