在 Oracle 中,WHEN 和 THEN 语法用于 CASE 表达式,用于基于条件返回不同的值:WHEN 子句指定评估的条件。THEN 子句指定条件为真时返回的值。ELSE 子句(可选)指定在所有 WHEN 条件都为假时返回的值。

Oracle 中 WHEN 和 THEN 语法的用法
WHEN 和 THEN 关键字用于 Oracle 中的 CASE 表达式,用于在特定条件下返回不同的值。
语法:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result_default END
用法:
WHEN 子句指定要评估的条件。如果条件为真,则返回与该 WHEN 子句关联的结果。
THEN 子句指定如果条件为真时要返回的值或表达式。
HT-EWCMS 为 Hetty - Enterprise Web Content Management System 的英文缩写,即海霆企业网站内容管理系统,HT-EWCMS为您提供一个高效快速和强大的企业网站解决方案,兼容各种主流操作系统和浏览器。HT-EWCMS著作权已在中华人民共和国国家版权局注册,海霆科技为 HT-EWCMS 产品的开发商,依法独立拥有 HT-EWCMS 产品著作权,著作
ELSE 子句是可选的,如果所有 WHEN 条件都为假,则返回与 ELSE 子句关联的值或表达式。
示例:
SELECT CASE WHEN salary > 5000 THEN 'High' WHEN salary > 3000 THEN 'Medium' ELSE 'Low' END AS salary_category FROM employees;
这个查询将根据员工的工资将员工的工资分类为“高”、“中”或“低”。
要点:
- WHEN 条件可以使用任何有效的 Oracle 布尔表达式。
- THEN 结果可以是任何数据类型,包括标量值、表达式或子查询。
- ELSE 子句只能指定一个结果。
- 如果没有满足任何 WHEN 条件,则返回 ELSE 子句中的结果(如果指定的话)。
- CASE 表达式可以嵌套,以根据多个条件创建更复杂的结果。









