hive中case语句
时间: 2024-11-22 22:34:18 浏览: 15
在Hive中,CASE语句是一种条件表达式,用于根据指定的条件返回不同的结果。它类似于SQL的IF...THEN...ELSE结构,常用于数据清洗、转换和数据分析过程中。基本语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[WHEN ...]
ELSE default_result
END as case_column_name
```
- `condition_1`, `condition_2` 等是评估的条件,如果满足则执行相应的`result_1` 或 `result_2`。
- 如果所有条件都不满足,可以使用`ELSE`关键字提供默认的结果`default_result`。
- 结果会被赋予别名`case_column_name`,以便于后续查询操作。
例如,如果你想将年龄分为儿童、成人和老人三个类别:
```sql
SELECT id,
CASE
WHEN age < 18 THEN '儿童'
WHEN age BETWEEN 18 AND 60 THEN '成人'
ELSE '老人'
END AS age_group
FROM users;
```
相关问题
hive中case的用法
Hive中的CASE语句用于根据条件选择不同的输出结果。它的基本语法如下:
CASE [表达式]
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
...
ELSE 结果N
END
其中,表达式可以是任何可以被计算的有效表达式;值1、值2等可以是任何与表达式数据类型相同的值;结果1、结果2等可以是任何有效的Hive表达式或常量。如果表达式的值等于任何一个值1、值2等,则将返回对应的结果1、结果2等。如果表达式的值不等于任何一个值1、值2等,则将返回ELSE子句中指定的结果N(如果ELSE子句存在)。
hive中case when用法
在Hive中,CASE WHEN语句用于根据条件执行不同的操作。它的基本语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件表达式为真时的结果。ELSE子句是可选的,用于指定所有条件表达式都不为真时的默认结果。
例如,以下查询将根据salary列的值返回不同的结果:
```
SELECT name,
CASE WHEN salary < 5000 THEN 'Low'
WHEN salary >= 5000 AND salary < 10000 THEN 'Medium'
ELSE 'High'
END AS salary_level
FROM employee;
```
阅读全文