当前位置: 代码迷 >> Sql Server >> sql server 关于空值判定的查询,该怎么解决
  详细解决方案

sql server 关于空值判定的查询,该怎么解决

热度:84   发布时间:2016-04-27 10:48:58.0
sql server 关于空值判定的查询
SQL code
SELECT * FROM tableName WHERE columnName IS NOT NULLSELECT * FROM tableName WHERE ISNULL(columnName, '')<>''--上面两个空值判定的查询语句的区别是什么?


------解决方案--------------------
用方法1效率高
方法2可能会造成用不到索引,具体看执行计划
方法3需要设置执行环境SET ANSI_NULLS ON
------解决方案--------------------
NULL 不可以用 = 和 <>判断,
SELECT * FROM tableName WHERE ISNULL(columnName, '')<>'' 这个表示当columnName为NULL
SELECT * FROM tableName WHERE columnName IS NOT NULL 表示 columnName不为NULL

呵呵,等待大神解释……


------解决方案--------------------
哦 方法一的效率高哈 学习学习……
------解决方案--------------------
探讨

NULL 不可以用 = 和 <>判断,
SELECT * FROM tableName WHERE ISNULL(columnName, '')<>'' 这个表示当columnName为NULL
SELECT * FROM tableName WHERE columnName IS NOT NULL 表示 columnName不为NULL

呵呵,等待大神解释……

------解决方案--------------------
探讨

引用:

用方法1效率高
方法2可能会造成用不到索引,具体看执行计划
方法3需要设置执行环境SET ANSI_NULLS ON

我在用SELECT * FROM tableName WHERE columnName IS NOT NULL查询时它把空行都查询出来了啊,
SELECT * FROM tableName WHERE ISNULL(columnName……
  相关解决方案