case when then else end函数使用举例
时间: 2024-09-23 21:03:20 浏览: 45
`CASE WHEN THEN ELSE END` 是SQL(Structured Query Language,结构化查询语言)中的一个条件表达式,它类似于其他编程语言中的三元运算符或条件判断。这个函数用于根据某个条件返回不同的值。下面是一个简单的例子:
```sql
SELECT
CASE
WHEN column_name = 'value1' THEN 'Result for value1'
WHEN column_name = 'value2' THEN 'Result for value2'
ELSE 'Default result or no match'
END AS result_column
FROM table_name;
```
在这个例子中:
- `column_name` 是表中的一列名;
- `'value1'` 和 `'value2'` 是你想要检查的特定条件;
- 当 `column_name` 等于 `'value1'` 时,结果将是 `'Result for value1'`;
- 当 `column_name` 等于 `'value2'` 时,结果将是 `'Result for value2'`;
- 如果 `column_name` 既不等于 `'value1'` 也不等于 `'value2'`,则会执行 `ELSE` 部分,返回默认结果 `'Default result or no match'`。
相关问题
case when函数怎么使用举例
在Oracle中,CASE WHEN函数可以根据条件返回不同的值。其语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件成立时返回的结果,default_result是当所有条件都不满足时返回的默认结果。
举个例子,如果我们要根据一个学生的分数返回其等级(优、良、中、差),可以使用如下SQL语句:
```sql
SELECT name, score,
CASE
WHEN score >= 90 THEN '优'
WHEN score >= 80 THEN '良'
WHEN score >= 60 THEN '中'
ELSE '差'
END AS grade
FROM student;
```
这个例子中,我们使用了CASE WHEN函数来根据学生的分数返回其等级。如果分数大于等于90分,则返回"优";如果分数大于等于80分,则返回"良";如果分数大于等于60分,则返回"中";如果分数小于60分,则返回"差"。
需要注意的是,CASE WHEN函数也可以嵌套使用,以实现更复杂的条件判断。
case when函数怎么用?举例说明
`CASE WHEN` 是 SQL 中的一种条件表达式,它允许你根据特定的条件返回不同的值。它的基本语法结构是:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[ ... ]
ELSE default_result
END
```
- `condition_1`, `condition_2`: 这些是你要测试的布尔条件,如果满足,就会执行相应的 `result`。
- `result_1`, `result_2`: 如果条件成立,这个部分的结果将被返回。
- `default_result`: 如果所有 `WHEN` 条件都不满足,则会执行这部分。
例如,假设我们有一个员工表,包含工资字段,我们要计算不同级别的工资补贴:
```sql
SELECT
employee_id,
CASE
WHEN salary < 5000 THEN '补贴5%'
WHEN salary >= 5000 AND salary < 10000 THEN '补贴10%'
ELSE '无补贴'
END AS bonus_rate
FROM employees;
```
在这个例子中,如果员工的工资小于5000元,他们将得到5%的补贴;如果工资在5000到10000元之间,补贴为10%;超过10000元则无补贴。
阅读全文