时间: 2020-09-24|tag:50次围观|0 条评论

在php里面有 if  else if   流程判断 那么在sql里面有没有呢?今天给大家介绍一下case then

三目运算就是一个简单的if else的判断了,但是三目运算比if else更简洁好用了,那知mysql中支持三目运算吗?一起来看看.

网站业务需要按实际成立金额排序,要用的有三个字段:price(商品价格),pay(实际支付价格),num(购买数量),如果商品有优惠就是按pay价格成立,也就是pay>0,如果没有优惠就是实价成交,pay=0.所以我们要的实际价格就是如果pay>0就是pay*num,否则就是price*num.这也就是要用到三目运算pay>0?pay:price.

那么mysql有三目运算符吗:

可以用case when,这个mysql应该支持:select a,case when b is null then'xxxx' else b end b from table_xxx where,还有这个.

sql中也是支持三目运算的,语法为:

CASE  WHEN 条件 THEN 如果符合 ELSE 如果不符合 END

所以在我们这业务中的SQL语句就是:

select   CASE  WHEN pay>0 THEN pay*num ELSE price*num END as ‘amount’ from table_name order by amount desc;//phpfensi.com

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《mysql三目运算判断流程实例
   

还没有人抢沙发呢~