ZLS与1个字符空间

时间:2014-07-19 08:24:55

标签: sql-server-2008 tsql

让我感到震惊的东西,让我觉得自己是个绝对的傻瓜。

select count(*) as [row count], myField as FieldValue, len(myField) as ValueLength
from myTable
where myField=N''
group by myField,len(myField)

返回健康Count的记录,[ValueLength]为0。

现在,如果我将WHERE子句更改为:where myField=N' ' (即从ZLS变为{space})

查询现在返回完全相同的结果?

这怎么可能? 当然SQL Server知道ZSL和空间之间的区别吗? 可能是我不懂的了吗??

有人可以告诉我这里有什么问题吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

这是因为填充以便比较相同长度的字符串: http://support.microsoft.com/kb/316626