hivesql中的case when
时间: 2024-06-13 09:02:37 浏览: 166
SqlServer使用 case when 解决多条件模糊查询问题
在Hive SQL中,`CASE WHEN`是一个条件表达式,也被称为三元运算符,用于基于特定条件返回不同的值。它的基本语法如下:
```sql
CASE
WHEN condition THEN result_if_true
ELSE [result_if_false]
END
```
这里,`condition`是你想要测试的表达式或子查询,如果这个条件为真(非NULL),`result_if_true`就会被返回;如果`condition`为假或为NULL,那么你可以提供一个可选的`ELSE`部分,它将返回`result_if_false`。
例如,如果你有一个销售数据表,你想计算每个客户的折扣金额,可以使用`CASE WHEN`如下:
```sql
SELECT
customer_id,
CASE
WHEN discount > 0 THEN total_amount * (1 - discount/100)
ELSE total_amount
END AS discounted_amount
FROM sales;
```
在这个例子中,如果`discount`大于0,客户会获得折扣后的金额,否则就是原价。
阅读全文