SQL条件语句(IF, CASE WHEN, IF NULL)

1.IF

  表达式:IF( expr1 , expr2 , expr3 )

  expr1条件,条件为true,则值是expr2 ,false,值就是expr3

SELECT 
o.id,u.account,catagory.`name`,orderTime,detail.amount,periodtime,if(direction='0','看涨','看跌') directionName FROM t_order_detail detail LEFT JOIN t_order o ON o.id = detail.orderId LEFT JOIN t_catagory catagory ON catagory.id = o.catId LEFT JOIN t_user u ON u.id = o.userId 

2. CASE WHEN

  表达式:

CASE 列名
    WHEN 条件 THEN 结果 
    ELSE 其他结果
    END 别名

  例子:

SELECT 
CASE detail.`status` WHEN '0' THEN '未开仓' WHEN '1' THEN '已开仓' WHEN '2' THEN '已平仓' ELSE '取消订单' END status, CASE o.type WHEN '0' THEN '单期' WHEN '1' THEN '多期' ELSE '策略' END typeName FROM t_order_detail detail LEFT JOIN t_order o ON o.id = detail.orderId 

3. IFNULL

  表达式:IFNULL( expr1 , expr2)

  在 expr1 的值不为 NULL的情况下都返回 expr1,否则返回 expr2

select IFNULL(detailcode,'无') detailcode from ...


作者:肥了个大西瓜
链接:https://www.jianshu.com/p/d5b2f590858f
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/xiaoshen666/p/11040523.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值