case when 函数简单用法
时间: 2023-11-13 19:04:56 浏览: 81
case when 函数是一种条件表达式,可以根据条件返回不同的值。其基本语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,condition1、condition2 等为条件表达式,result1、result2 等为对应条件的返回值,ELSE 子句为默认返回值。
例如,以下 SQL 语句将根据订单状态返回不同的文本:
```
SELECT order_id,
CASE WHEN status = 'paid' THEN '已支付'
WHEN status = 'shipped' THEN '已发货'
WHEN status = 'delivered' THEN '已送达'
ELSE '未知状态'
END AS status_text
FROM orders;
```
相关问题
10,简单聊聊if函数和case when函数的使用方法
在SQL中,IF函数和CASE WHEN函数都是用于条件判断的重要工具。
**IF函数**通常有三种形式(取决于使用的SQL方言):
1. IF(condition, value_if_true, value_if_false):当condition为真时返回value_if_true,否则返回value_if_false。
```sql
SELECT IF(column > 5, ' Greater than 5', ' Less or equal to 5');
```
2. IIF(condition, true_value, false_value):同上,只是某些数据库支持更简洁的语法。
```sql
SELECT IIF(column > 5, 'True', 'False');
```
3. IFNULL(value, default_value): 如果value非空则返回value,否则返回default_value。
```sql
SELECT IFNULL(null_column, 'Default Value');
```
**CASE WHEN函数**则是更强大的条件判断工具,可以处理一系列的条件分支:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[ ... ]
ELSE default_result
END
```
每个WHEN后的表达式需满足就会返回对应的result,所有WHEN都未匹配到才会执行ELSE部分。
例如,计算员工的工资等级:
```sql
SELECT
CASE
WHEN salary > 10000 THEN 'Manager'
WHEN salary > 5000 THEN 'Salaried Employee'
ELSE 'Hourly Worker'
END as job_title
FROM employees;
```
orcale case when函数用法
Oracle的CASE WHEN函数用于在查询中进行条件判断和值替换。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是根据条件计算的结果。可以有多个WHEN子句,每个子句都可以有不同的条件和结果。
以下是一个示例,演示了如何使用CASE WHEN函数:
```
SELECT product_name,
CASE
WHEN unit_price < 10 THEN 'Cheap'
WHEN unit_price >= 10 AND unit_price <= 100 THEN 'Moderate'
ELSE 'Expensive'
END AS price_category
FROM products;
```
在上面的示例中,根据产品的单价(unit_price)将产品分为三个价格类别:便宜(Cheap)、适中(Moderate)和昂贵(Expensive)。根据条件不同,使用不同的结果进行替换,并将结果命名为price_category。
希望这个例子能够帮助你理解Oracle的CASE WHEN函数的用法。如果还有其他问题,请随时提问!
阅读全文