(1)枚举这个字段的各个可能的值,对枚举到的每一个具体的值单独作出对应的处理
举例说明
SELECT
CASE a.AFTER_QUALITY
WHEN '0' THEN
'过免维期'
WHEN '1' THEN
'未过免维期'
ELSE
'错误数据'
END AS AFTER_QUALITY
FROM
t_maintain_log a
数据库表内容:
运行结果:
(2)判断该字段的范围
SELECT
d.[单项编号] 单项编号,
c.[单项财务收入],
e.[单项合同金额],
CASE
WHEN c.单项财务收入 is NULL or c.单项财务收入 <0 THEN
'无收入'
ELSE
'有收入'
END AS 有无收入,
CASE
WHEN e.单项合同金额 IS NULL OR e.单项合同金额 < 0 THEN
'无合同'
ELSE
'有合同'
END AS 有无合同
FROM
[BI_单项_FOR_ANALYSE] d
LEFT JOIN (
SELECT
sr.[单项编号],
SUM (sr.[单项财务收入]) 单项财务收入
FROM
[BI_单项财务收入_FOR_ANALYSE] AS sr
GROUP BY
sr.[单项编号]
) c ON d.[单项编号] = c.[单项编号]
LEFT JOIN (
SELECT
mx.[单项编号],
SUM (mx.[单项合同金额]) 单项合同金额
FROM
BI_合同明细_FOR_ANALYSE AS mx
GROUP BY
mx.[单项编号]
) e ON d.[单项编号] = e.[单项编号];