Oracle 处理空值的函数

1.NVL(expr1,expr2)

 如果expr1为NULL,则该函数显示expr2的值;

2.NVL2(expr1,expr2,expr3)

如果expr1的值为NULL,则该函数显示expr3的值;不为NULL,显示expr2的值;

3.NULLIF(expr1,expr2)

如果expr1=expr2,返回NULL;若不等,则返回第一个表达式的值;

4.COALSECE(expr1,expr2,expr3)

如果全为NULL,则函数值为NULL;若有一项不为NULL,则显示那一项exprN;若三项都不为空,则显示最前面的一项expr;

5.CASE

SELECT cust_last_name,
 CASE credit_limit WHEN 100 THEN 'Low'

  WHEN 5000 THEN 'High'
 ELSE 'Medium' END

FROM customers;

类似C语言的case

6.DECODE

SELECT product_id,
       DECODE (warehouse_id, 1, 'Southlake', 
                             2, 'San Francisco', 
                             3, 'New Jersey', 
                             4, 'Seattle',
                                'Non-domestic') 
       "Location of inventory" FROM inventories
       WHERE product_id < 1775;

猜你喜欢

转载自blog.csdn.net/pingy_de/article/details/77480368