在 SQL 中,可以使用 CASE 语句来实现类似于 decode 函数的条件判断。CASE 语句允许你根据一个或多个条件返回不同的值。以下是一个简单的示例:
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END AS new_column
FROM table_name;
这里,condition1
和 condition2
是你要判断的条件,result1
和 result2
是相应条件满足时要返回的结果,result3
是当没有任何条件满足时返回的结果。new_column
是根据条件判断生成的新列。
例如,假设我们有一个员工表(employees),包含员工的 ID、姓名、年龄和部门。我们想要根据员工的年龄段来显示不同的年龄分组。可以使用以下 SQL 查询:
SELECT id, name, age, department,
CASE
WHEN age < 30 THEN 'Young'
WHEN age BETWEEN 30 AND 50 THEN 'Middle-aged'
ELSE 'Senior'
END AS age_group
FROM employees;
这将返回一个包含所有员工信息以及根据年龄段生成的新列 age_group
的结果集。