語(yǔ)法
coalesce(str1,str2,str3,...,default)
- str1,str2,str3:參數(shù)肄扎,但是最終只會(huì)返回最左邊那個(gè)非空參數(shù)的值。
- default:當(dāng)前面所有的表達(dá)式值都為NULL的時(shí)候,返回此參數(shù)的值犯祠。
MySql中的coalesce()函數(shù)用于返回參數(shù)中的第一個(gè)非空表達(dá)式旭等,順序?yàn)閺淖笸摇?/p>
與nvl()函數(shù)的對(duì)比
這個(gè)函數(shù)其實(shí)和nvl()函數(shù)的作用基本是一樣的,只不過(guò)nvl()函數(shù)不能在MySql中使用衡载,因此用coalesce()函數(shù)來(lái)替代搔耕。
相比于nvl()函數(shù),coalesce中參數(shù)可以有多個(gè)痰娱,而nvl()函數(shù)只有兩個(gè)參數(shù)弃榨。
SQL示例
比如我們要獲取form_xf這張表中XFCode這個(gè)字段的最大值,當(dāng)此表無(wú)數(shù)據(jù)時(shí)梨睁,則直接返回默認(rèn)值0鲸睛。
SELECT coalesce(max(XFCode), 0) FROM form_xf