NVL
当修饰的字段内容为NULL时,NVL计算结果为指定的值,可使用的数据类型为日期、字符和数字。函数的参数只能有两个。
SELECT t.是否活跃,NVL(t.是否活跃,'否') FROM t;
NVL2(表达式1,表达式2,表达式3)
如果表达式1的值不为NULL,那么显示表达式2的值,否则显示表达式3的值。
SELECT t.是否活跃,NVL2(t.是否活跃,'no','yes') FROM t;
NULLIF(表达式1,表达式2)
如果表达式1和表达式2的内容相同,则返回NULL,否则返回第一个表达式的值。
SELECT t.是否volte终端,t.是否双卡双待,NULLIF(t.是否volte终端,t.是否双卡双待) FROM t;
COALESCE(列名,表达式1,表达式2,表达式3,…表达式n)
用于匹配多个字段的值,如果表达式1的值为null,则显示表达式2的值,如果表达式2的值也为空,则显示表达式3的值,依此类推。
SELECT t.是否活跃,t.大王卡,t.存,COALESCE(t.是否活跃,t.大王卡,t.存,'somevalue') FROM t;
特点
1)与NVL相比,COALESCE可以同时处理交替的多个值;
2)返回参数列表的第一个非空表达式;
3)最后一个参数通常是常量;
4)参数可以有多个,最少有一个,可以全是NULL。