MYSQL设置字段默认值的函数

前言

数据库中有些字段可能是null或统计字段也可能是NULL,这些前端拿到数据显示出来是空白,遇到这种情况,有必要将null的字段设置一个默认值。将NULL值的字段设置默认值的函数有IFNULL(expr1,expr2)和COALESCE(value,…),下面我们来一起学习学习。

IFNULL

语法

IFNULL(expr1,expr2)

功能

如果expr1表达式不为null,则返回expr1的值,否则返回expr2的值。

实例

-- 如果bottle_code字段为NULL 则返回 '0000'
SELECT IFNULL(bottle_code,'0000') FROM goods_detail;

-- 如果SUM(purch_volume) 结果为NULL,则返回 0
SELECT IFNULL(SUM(purch_volume),0) FROM purch_item

COALESCE

语法

COALESCE(expression1,...n)

功能

返回参数列表中第一个不为NULL的表达式的值,如果所有参数都为NULL则返回NULL

COALESCE(expression1,…n) 与此 CASE 函数等价

CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL

实例

-- 先判断bottle_code的值是否为null,如果为null再判断bar_code是否为null,如果还是为null,则返回100
SELECT COALESCE(bottle_code,bar_code,1000) FROM goods_detail

-- 判断 SUM(purch_volume)的结果是否为null,如果为null则返回 0
SELECT COALESCE(SUM(purch_volume),0) FROM air_purch_item

总结

MYSQL的函数很多,遇到实用的函数一定要将其记录下来,日积月累,积累多了你会发现写sql非常简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值