1.简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。
2.CASE 搜索函数计算一组布尔表达式以确定结果。
两种格式都支持可选的 ELSE 参数。
简单CASE函数:
SELECT CASE 字段 WHEN 条件值1 THEN 输出值1
WHEN 条件值2 THEN 输出值2
…….
ELSE 输出值n END
FROM 表名
CASE 搜索函数:
SELECT CASE WHEN 表达式1 THEN 输出值1 ELSE
CASE WHEN表达式2 THEN 输出值2 ELSE
…….
ELSE 输出值n END
FROM 表名
判断采购订单行状态。
SQL语句如下:
SELECT TD1.DocNum, TD1.LineNum, TD1.LineStatus,
(CASE TD1.LineStatus
WHEN ‘O’ THEN ‘正常’
WHEN ‘C’ THEN ‘关闭’
WHEN ‘X’ THEN ‘作废’ ELSE ‘冲销’ END) AS ZT
FROM PUOrdA TD1
或
SELECT TD1.DocNum, TD1.LineNum, TD1.LineStatus,
(CASE WHEN TD1.LineStatus = ‘O’ THEN ‘正常’ ELSE
(CASE WHEN TD1.LineStatus = ‘C’ THEN ‘关闭’ ELSE
(CASE WHEN TD1.LineStatus = ‘X’ THEN ‘作废’ ELSE ‘冲销’ END)
END)
END) AS ZT
FROM PUOrdA TD1