ホームページ >データベース >mysql チュートリアル >Oracle,sql server的空值(null)判断

Oracle,sql server的空值(null)判断

WBOY
WBOYオリジナル
2016-06-07 15:39:051789ブラウズ

Oracle,sql server的空值(null)判断 sqlserver 替换null: isnull(arg,value) 如:selectisnull(price,0.0)fromorders,如果price为null的话,用0.0替换 与null比较: isnotnull,isnull 如select*fromorderswherepriceisnull,price等于null 如:select*fromorder

Oracle,sql server的空值(null)判断

sql server

替换null:isnull(arg,value)

如:select isnull(price,0.0) from orders                             ,如果price为null的话,用0.0替换

 

与null比较:  is not null,is null

 如  select * from orders where price is null                      ,price等于null

如: select * from orders where price is not null                  ,  price不等于null

 

Oracle

替换null: nvl(arg,value)

如: select  nvl(price,0.0) form orders

与null比较:  is not null,is null

 如  select * from orders where price is null                      ,price等于null

如: select * from orders where price is not null                  ,  price不等于null

 

在编写sql语句时,如果要和null做比较判断,必须使用is null 或者is not null,不能使用=null 或者!=null这种比较形式。

原因是,null是一种特殊的值,既不是0,也不是””,而表示“空”,即不存在的意思。所以,是无法像字符串和数字那样进行比较的。is null就表示不存在,is not null就表示存在

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。