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