SELECT 'Equal'
WHERE ' ' = ''
结果:
-----
Equal
(1 row(s) affected)
答案 0 :(得分:7)
在使用=运算符比较字符串时,SQL Server不考虑尾随空格。这就是为什么它认为''相当于''。
这是一个解释语义的页面:http://support.microsoft.com/kb/316626
答案 1 :(得分:0)
SQL Server将' ' = ''
评估为等于TRUE的布尔类型,因此它将返回您在SELECT中指定的字符串文字。
同样会发生:SELECT'Equal'WHERE 1 = 1