Mysql 中If isnull()的使用

ifnull()方法的用法

一般我们在使用ifnull()方法的时候,都是类似下面的语句:

IFNULL(expr1,expr2)

如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值。

if和isnull结合使用

有的时候我们会用到下面的句子

IF(ISNULL(X),expr1,expr2)

这样,如果x为null,则返回expr1,如果x不为null,则返回expr2。

搜索时附加筛选条件

写网站的时候遇到了筛选功能,搜索出来的信息需要按照用户的要求筛选。比如搜索job的时候按照城市筛选。
一种方法是写两个sql,一个是有筛选功能,一个是没有筛选功能。
但是这样的话会遇到一个问题,如果添加筛选条件,比如公司,就需要2*2=4个sql,这样会爆炸增长
所以我用了if和isnull的结合

Mysql

表的结构:
在这里插入图片描述语句和结果:

  • 不为null(有筛选城市的条件,只需要城市符合的数据)
SELECT * FROM jobcoming.job_exist t  where date(t.ddl) > curdate() and 
t.cities like if(ISNUll('sh'),CONCAT('%','','%'),CONCAT('%','sh','%'))
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值