Mysql coalesce()函數認識和用法
coalesce()解釋:返回參數中的第一個非空表達式(從左向右);
鑒於在
mysql中沒有nvl()函數, 我們用coalesce()來代替。
coalesce相比nvl優點是,coalesce中參數可以有多個,而nvl()中參數就只有兩個。
當然,在oracle中也可以使用 case when....then....else......end
(比較強悍,case when 后可以跟表達式)。
www.2cto.com
使用示例:a,b,c三個變量。
Sql代碼
select coalesce(a,b,c);
如果a==null,則選擇b;如果b==null,則選擇c;如果a!=null,則選擇a;如果a b c 都為null ,則返回為null(沒意義)。
這個參數使用的場合為:假如某個字段默認是null,你想其返回的不是null,而是比如0或其他值,可以使用這個函數
SELECT COALESCE(field_name,0) as value from table;
SELECT COALESCE(field_name,0) as value from table;
應用實例
coalesce函數表示可以返回參數中的第一個非空表達式,當你有N個參數時選取第一個非空值(從左到右)。
實例一:
select coalesce(null,"carrot","apple")
返回結果:carrot
實例二:
select coalesce(1,"carrot","apple")
返回結果:1
友情提示:coalesce里的參數如果是字符串的話,務必用單引號或者雙引號廓起來;
這些語句可以直接在mysql里運行。
實例一:
select coalesce(null,"carrot","apple")
返回結果:carrot
實例二:
select coalesce(1,"carrot","apple")
返回結果:1
友情提示:coalesce里的參數如果是字符串的話,務必用單引號或者雙引號廓起來;
這些語句可以直接在mysql里運行。
