存储过程中的用的“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的行
浙公网安备 33010602011771号