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*fromorderswherepriceisnotnull,price不等于null
Oracle
替换null:nvl(arg,value)
如:selectnvl(price,0.0)formorders
与null比较:isnotnull,isnull
如select*fromorderswherepriceisnull,price等于null
如:select*fromorderswherepriceisnotnull,price不等于null
在编写sql语句时,如果要和null做比较判断,必须使用is null 或者is not null,不能使用=null 或者!=null这种比较形式。
原因是,null是一种特殊的值,既不是0,也不是””,而表示“空”,即不存在的意思。所以,是无法像字符串和数字那样进行比较的。is null就表示不存在,is not null就表示存在