MySql---COALESCE与CAST函数

COALESCE(value,…)是一个可变参函数,可以使用多个参数。

接受多个参数,返回第一个不为NULL的参数,如果所有参数都为NULL,此函数返回NULL;当它使用2个参数时,和IFNULL函数作用相同。

COALESCE与IFNULL比较

SELECT IFNULL(NULL,'test');    //test
SELECT IFNULL('ccc','test');    //ccc
SELECT IFNULL(NULL,NULL);    //NULL

SELECT COALESCE('wang','test');    //wang
SELECT COALESCE(NULL,'test');        //test
SELECT COALESCE('wang','test','test1','test2');    //wang
SELECT COALESCE(NULL,NULL,NULL,'test2');    //test2
SELECT COALESCE(NULL,NULL,NULL,NULL);    //NULL
 

CAST(字段名 as 转换的类型 ),其中类型可以为:

CHAR[(N)] 字符型 
DATE  日期型
DATETIME  日期和时间型
DECIMAL  float型
SIGNED  int
TIME  时间型

在强类型语言中,NULL并不等于0,比如下面例子

amount 字段是 DECIMAL(10, 2)

select  SUM(amount) AS amount from account_list where user_id =10;

但是 SUM(amount)是未知类型的

这时候需要类型定义CAST以及给出默认值 

 

select  COALESCE(CAST(SUM(amount) AS DECIMAL(10, 2)), 0.00) AS amount from account_list where user_id =10;

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值