我有这样的选择查询,让输出“0x38F0A2D294A4AEBD1648C952D910AC51C40FE7”VARBINARY不是在where子句
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
这根本行不通。奇怪的是,当值不同时,它适用于其他情况。
不回答你的问题,但[请不要使用'不长varchar'(http://sqlblog.com/blogs/aaron_bertrand/archive/2009/ 10月9日/坏习惯,对开球声明,VARCHAR,而无需-length.aspx)。 –