oracle中,nvl函数的含义是如果某字段内容为空则把某字段设置为某某值。
如,test表中,其中id为3,4的name是空值。
现在要查询,使name为空值的内容显示为“无名”。可用如下语句:
select id,nvl(name,'无名') name from test;
运行后结果:
nvl函数解释:
格式为:
NVL( string1, replace_with)
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。
注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。
NVL ( 参数1, 参数2)
意思是, 如果 参数1 非空, 那么返回参数1。 如果参数1 为空, 返回参数2。
oracle中对于nvl有如下用法:
【语法】NVL (expr1, expr2)
【功能】若expr1为NULL,返回expr2;expr1不为NULL,返回expr1。
注意两者的类型要一致
【语法】NVL2 (expr1, expr2, expr3)
【功能】expr1不为NULL,返回expr2;expr2为NULL,返回expr3。
expr2和expr3类型不同的话,expr3会转换为expr2的类型