mysql case when then用法

川长思鸟来 2022-10-10 12:56 279阅读 0赞
  1. SELECT
  2. CASE
  3. WHEN sp.risk_project_category IS NULL
  4. OR sp.risk_project_category = '' THEN
  5. '无'
  6. ELSE
  7. sp.risk_project_category
  8. END AS NAME,
  9. COALESCE (sum(1), 0) AS
  10. VALUE
  11. FROM
  12. t_sortie_plan sp
  13. WHERE
  14. sp.plan_start_time < DATE_FORMAT(NOW(), '%Y-%m-%d')
  15. AND sp.plan_start_time BETWEEN CONCAT('2021-01-01', ' 00:00')
  16. AND CONCAT('2021-07-01', ' 23:59')
  17. AND sp.del_flag = 0
  18. GROUP BY
  19. sp.risk_project_category;
  • 以下两种写法等效

    SELECT

    1. CASE

    WHEN (a.type = 1 OR a.type = 3) THEN

    1. '已审批'

    WHEN 2 THEN

    1. '拒绝'

    ELSE

    1. '审批中'

    END AS tpp,
    a.*
    FROM

    1. info a;

    SELECT

    1. CASE a.type

    WHEN 1 THEN

    1. '已审批'

    WHEN 3 THEN
    ‘已审批’
    WHEN 2 THEN

    1. '拒绝'

    ELSE

    1. '审批中'

    END AS tpp,
    a.*
    FROM

    1. info a;

发表评论

表情:
评论列表 (有 0 条评论,279人围观)

还没有评论,来说两句吧...

相关阅读