Hive case when 用法详细介绍

本文详细介绍了Hive中的CASE WHEN语句,这是一种用于根据条件在查询结果中返回不同值的工具。通过案例展示了如何根据年龄或收入划分用户群体,包括嵌套CASE WHEN语句的使用,以满足更复杂的逻辑需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hive的CASE WHEN语句是一种条件语句,用于在查询结果中根据不同的条件返回不同的结果。

语法:

SELECT
  CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
  END
FROM table_name

这里,condition1condition2是条件表达式,可以是任何布尔类型的表达式。如果第一个条件不成立,则测试第二个条件。最终,如果所有条件都不成立,则返回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 WHEN语句的示例:

复制
插入
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN
CASE
WHEN sub_condition1 THEN sub_result1
WHEN sub_condition2 THEN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值