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;

 

 

应用实例

 

coalesce函数表示可以返回参数中的第一个非空表达式,当你有N个参数时选取第一个非空值(从左到右)。 

        实例一: 

              select coalesce(null,\"carrot\",\"apple\") 

          返回结果:carrot 

       实例二: 

              select coalesce(1,\"carrot\",\"apple\") 

           返回结果:1 

        友情提示:coalesce里的参数如果是字符串的话,务必用单引号或者双引号廓起来; 

                           这些语句可以直接在mysql里运行。

收藏 打印