MySQL-ifnull的嵌套使用

来源:互联网 发布:java class.this 编辑:程序博客网 时间:2024/05/18 11:35

在网上查询ifnull有没有嵌套使用的方式,但是貌似没有人提到过这个用法:大都是简单的判断一个字段是否为空,然后用另外一个值代替的方式使用;
即是:

select ifnull(a,b) from A ;

但是我遇到的问题是两个字段,大概场景是这样的:
每一个商店会有两种打折方式vip_discount与simple_discount,从数据库查出来以discount字段命名;且以vip_discount为主。意思是如果vip_discount不为空,就返回它的值,若它的值为空就要进一步判断simple_discount字段是否为空,如果不为空就返回simple_discount的值,否则就返回一个空字符串。

这里我就想到了可不可以使用ifnull嵌套来判断达到我的目的。在网上查了许久也没有发现有类似的博客,就寻思自己试试不就行啦:

select ifnull(vip_discount,ifnull(simple_discount,"")) as discount from A;

这样就解决问题了,此SQL语句也可以在后面添加条件语句来补充其他条件查询。

原创粉丝点击