mysql case when then用法
SELECT
CASE
WHEN sp.risk_project_category IS NULL
OR sp.risk_project_category = '' THEN
'无'
ELSE
sp.risk_project_category
END AS NAME,
COALESCE (sum(1), 0) AS
VALUE
FROM
t_sortie_plan sp
WHERE
sp.plan_start_time < DATE_FORMAT(NOW(), '%Y-%m-%d')
AND sp.plan_start_time BETWEEN CONCAT('2021-01-01', ' 00:00')
AND CONCAT('2021-07-01', ' 23:59')
AND sp.del_flag = 0
GROUP BY
sp.risk_project_category;
以下两种写法等效
SELECT
CASE
WHEN (a.type = 1 OR a.type = 3) THEN
'已审批'
WHEN 2 THEN
'拒绝'
ELSE
'审批中'
END AS tpp,
a.*
FROMinfo a;
SELECT
CASE a.type
WHEN 1 THEN
'已审批'
WHEN 3 THEN
‘已审批’
WHEN 2 THEN'拒绝'
ELSE
'审批中'
END AS tpp,
a.*
FROMinfo a;
还没有评论,来说两句吧...