Maison >base de données >tutoriel mysql >Oracle,sql server的空值(null)判断
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就表示存在