1.nvl()
nvl (expr1, expr2):expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
通过查询获得某个字段的合计值,如果这个值为null,则给出一个预设的 默认值(此处为0,也可以设置为其他值)。
例如:
select nvl(sum(t.dwx),1) from tb t
表示如果sum(t.dwx) = null就返回1
2.nvl2()
nvl2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。E2和E3类型不同的话,E3会转换为E2的类型
l例如:
select nvl(t.name,'张三','李四') from tb t
表示如果t.name为null ,则函数返回李四,若t.name不为null,则函数返回张三
3.NULLIF ()
NULLIF (expr1, expr2):相等返回NULL,不等返回expr1
例如:
select NULLIF(1,1) from dual
返回null
select NULLIF(1,2) from dual
返回1
本文详细解析了 Oracle 数据库中的三个重要 SQL 函数:nvl(), nvl2() 和 NULLIF()。nvl()用于当表达式为 NULL 时提供默认值;nvl2()根据第一个表达式的值决定返回第二个或第三个表达式的值;NULLIF()则是在两个表达式相等时返回 NULL。这些函数在处理空值和比较操作中非常实用。

1万+

被折叠的 条评论
为什么被折叠?



