Oracle中的COALESCE函數(shù)用于返回一組表達式中的第一個非空表達式的值。其使用語法如下:
COALESCE(expr1, expr2, expr3, …)
其中,expr1、expr2、expr3等為要比較的表達式,可以是列、常量或者函數(shù)。COALESCE函數(shù)將從左到右依次比較每個表達式,返回第一個非空表達式的值。
以下是一些示例:
SELECT COALESCE(col1, col2, col3) FROM table_name;
SELECT COALESCE(NULL, ‘Value1’, 2+3) FROM dual;
SELECT COALESCE(func1(), func2(), func3()) FROM dual;
注意:COALESCE函數(shù)在Oracle中也可以使用NVL函數(shù)來實現(xiàn)相同的功能,語法為:
NVL(expr1, expr2)
其中,expr1為要比較的表達式,expr2為要返回的默認(rèn)值。如果expr1為空,則返回expr2的值。