存储过程中的用的“is not null”与"<>null"有什么区别?

不同,
is not null 查詢出非空的值
null  則什麼都沒有


null与任何表达式计算皆为null

要判断是否为null,应该用is [not] null



NULL 值表示列的数据值未知或不可用

is not null
当搜索的列中包括定义为允许空值的列时,查找数据库中的非空值



测试一下不就知道了:
我测试的结果:<>null 条件时取不出是‘’或‘   ’的纪录 is not null 就能
你试一下



用<>null基本没有什么意义,除非你想取出得是表的schema,那样可以用
select * from table where null=null



SQL-92 标准要求对空值的等于 (=) 或不等于 (<>) 比较取值为 FALSE。当 SET ANSI_NULLS 为 ON 时,即使 column_name 中存在空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使 column_name 中存在非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍返回零行。

当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵从 SQL-92 标准。使用 WHERE column_name = NULL 的 SELECT 语句返回 column_name 中含有空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中含有非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 语句返回所有非 XYZ 值和非 NULL的行

posted on 2005-03-13 01:12  轻松逍遥子  阅读(1922)  评论(1)    收藏  举报