一 nvl()函数
语法:nvl(expression1,expression2)
如果expression1有值,则输出expression1的值,expression1为NULL,则输出expression2的值。
示例:
(如图,当city有值得时候,输出city,为NULL的时候,输出0。注意,这里的expression1是字符类型,
当expression为NULL时候,oracle会自动把0隐式转化为字符类型,因此这里的0是字符类型)
(这里的expression1是数字类型,当expression1为NULL的时候,需要输出的expression2是'unkown'为字符类型,
oracle是无法将字符类型隐式转化为数字类型的,因此这里需要通过to_char()函数将age先转化为字符类型)
二 nvl2函数
语法:nvl2(expression1,expression2,expression3)
如果expression1有值,则输出expression2,如果expression为NULL,则输出expression3。
示例:
(如图,city有值,则输出‘China’,若为NULL,则输出‘unkown’。nvl2函数与nvl函数一样,要注意
expression1对expression2和expression3的类型转换)