这是SQL Server 的 Bug 吗,求解释呀求解释~解决方案
这是SQL Server 的 Bug 吗,求解释呀求解释~~PS: space(n)表示由n个空格组成的字符串,space(0)就是另外我
这是SQL Server 的 Bug 吗,求解释呀求解释~~
PS: space(n)表示由n个空格组成的字符串,space(0)就是''
另外我使用的是2008R2
[解决办法]select len(space(4))
select len(space(100))
/*
0
*/
结果都是:0
从这里你可以找出答案了
[解决办法]你的疑问一句话就可以解答:
SQL SERVER在字符串比较时会忽略后面的空格
至于LEN,这个是函数内的处理机制,计算长度时忽略后面的空格
[解决办法]还真是,我试了一下,确实是像你说的,char也会忽略尾部的空格:
select case when CAST('aa' AS char) = CAST('aa ' AS CHAR)
then 1
else 0
end
/*
1
*/