TDengine3.0 case when
时间: 2024-07-27 18:01:29 浏览: 110
oracle case when 语句的用法详解
TDengine 3.0中的CASE WHEN是一个SQL表达式,用于条件判断和结果选择。它的工作原理类似于其他数据库系统中的条件语句,允许你在查询中根据某个条件返回不同的值。当你有多个可能的结果,每个对应一个特定的条件,你可以使用CASE WHEN来组织这些条件和相应的结果。
基本语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[ ... ]
ELSE default_result
END as column_name
```
- `condition_1`, `condition_2`等是判断条件,如果条件成立,对应的`result_1`或`result_2`会被返回。
- `default_result`是在所有条件都不满足时给出的默认结果。
- `as column_name`将计算后的结果指定给查询结果中的列名。
例如,假设你想根据用户等级返回不同的优惠券金额:
```sql
SELECT user_id,
CASE
WHEN level = 'VIP' THEN discount * 0.8
WHEN level = 'Gold' THEN discount * 0.9
ELSE discount
END AS coupon_amount
FROM users;
```
在这个例子中,如果用户等级是VIP,会获得原折扣的80%,黄金会员则是90%。
阅读全文