Hive的CASE WHEN语句是一种条件语句,用于在查询结果中根据不同的条件返回不同的结果。
语法:
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
FROM table_name
这里,condition1
和condition2
是条件表达式,可以是任何布尔类型的表达式。如果第一个条件不成立,则测试第二个条件。最终,如果所有条件都不成立,则返回default_result
。
下面是一个例子,根据不同的年龄范围,将用户分为不同的年龄组:
SELECT
name,
age,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age <= 30 THEN '青年'
WHEN age >= 31 AND age <= 60 THEN '中年'
ELSE '老年'
END AS age_group
FROM users;
在此示例中,如果年龄小于18岁,则将用户归类为“未成年”;如果年龄介于18岁和30岁之间,则将用户归类为“青年”;如果年龄介于31岁和60岁之间,则将用户归类为“中年”;否则,将用户归类为“老年”。
CASE WHEN语句可以嵌套使用,以满足更复杂的逻辑要求。
CASE WHEN语句也可以嵌套。以下是嵌套CASE WH