hivesql的casewhen用法
时间: 2023-08-14 12:14:27 浏览: 117
引用\[1\]提供了两种基础的使用方法。如果需要判断的条件是枚举值,可以使用第二种方法,即使用"="进行判断。这种方法简洁明了,代码量较少。例如,可以使用以下语句进行判断性别并返回对应的描述:
```
select case sex when '1' then '男' when '2' then '女' else '未知' end as sex_desc from table_sex
```
如果需要判断的条件不是等号,例如使用">"、">="、"like"等逻辑判断,只能使用第一种方法,即使用多个"case when"语句。例如,可以使用以下语句根据成绩判断等级并返回对应的描述:
```
select case when grade > 60 and grade < 70 then '及格' when grade >= 70 and grade < 90 then '良好' when grade >= 90 then '优秀' else '不及格' end as grade_desc from table_grade
```
另外,引用\[2\]和\[3\]提到了一些使用注意事项。首先,"then"后面不能接子查询。其次,"then"后面只能是结果值,不能是查询语句。请注意遵守这些注意事项来正确使用HiveSQL的casewhen语法。
#### 引用[.reference_title]
- *1* *2* *3* [hivesql中case when的基础总结和进阶使用](https://blog.csdn.net/yezonghui/article/details/125581823)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文