MySQL中的函數coalesce()可以用來返回參數列表中的第一個非空值。
語法:
SELECT COALESCE(expr1, expr2, ..., exprn)
參數:
- expr1,expr2,...exprn:要進行測試的參數表達式。這些表達式可以是任何要比較的類型,包括字符串、數字和日期等。
使用示例:
SELECT COALESCE(NULL, 1, 2);
輸出結果:2
解析:
在這個例子中,使用了三個參數,在MySQL檢查第一個參數是否為null之后,它找到了第一個非null值“1”,所以返回1。
如果所有的表達式都為NULL,則COALESCE函數返回NULL。
舉個例子:
SELECT COALESCE(NULL, NULL, NULL);
輸出結果:NULL
COALESCE函數還可以與其他MySQL函數一起使用。
例如:
SELECT COALESCE(NULLIF(column1,''),column2,'N/A') FROM table
這個查詢使用COALESCE函數測試column1是否為空字符串。如果是,NULLIF函數返回NULL,COALESCE函數將繼續測試下一個值。如果column1不為空,則將其返回。如果column2也是空的,則返回"N / A"。
總之,COALESCE函數是一個非常方便的函數,如果存在多個備選值時可以節省代碼。