数据库中空值引起的一个奇怪问题
在项目中遇到了很奇怪的问题,表结构是一个基本的树结构,简化如下:
SELECT [nodeId] ,[nodeName] ,[parentID] FROM [Test2] where nodeId not in(select parentID from [Test2] where parentID is not null)
以前只注意到了判断是不是null不能使用=,只能使用 is null,想不到在使用in时如何集合里边存在null,竟然会导致整个查询条件失败,查不到任何语句。
看来对于null出现在查询条件中必须的特殊处理,否则就会引起非常奇怪的问题。