case when用法sql
时间: 2023-07-07 15:43:31 浏览: 70
CASE WHEN是SQL中的一种条件表达式,用于在查询中基于条件进行值的选择和转换。
语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应的结果表达式。当条件表达式满足时,对应的结果表达式会被返回。
如果所有的条件表达式都不满足,可以选择使用ELSE子句来指定默认返回值。
例如,以下查询使用CASE WHEN将销售额按照不同的范围进行分类:
```
SELECT
product_name,
sales_amount,
CASE
WHEN sales_amount < 1000 THEN 'Low'
WHEN sales_amount < 5000 THEN 'Medium'
ELSE 'High'
END AS sales_range
FROM
sales
```
这将返回一个结果集,其中每一行的sales_range列将根据对应的sales_amount值被设置为Low、Medium或High。
相关问题
oracle case when用法sql
Oracle中的CASE WHEN语句是一种用于在SQL查询中实现条件逻辑的表达式。它类似于其他编程语言中的if-then-else结构,可以根据满足的条件返回不同的结果。
在Oracle中,CASE WHEN语句有两种常见的用法:
1. 简单的CASE表达式:使用该表达式可以根据列的值返回不同的结果。语法如下:
```
SELECT CASE 列名
WHEN 值1 THEN 结果1
WHEN 值2 THEN 结果2
ELSE 结果3
END
FROM table1;
```
这种用法适用于在查询结果中根据列的值进行条件判断,并返回不同的结果。
2. 检索的CASE表达式:使用该表达式可以根据条件进行判断并返回不同的结果。语法如下:
```
SELECT CASE
WHEN 条件1 THEN 条件1的结果
WHEN 条件2 THEN 条件2的结果
ELSE 条件1,2以外的结果
END
FROM table1;
```
这种用法适用于根据多个条件进行判断,并返回符合条件的结果。
除了上述两种用法之外,CASE WHEN语句还可以用于作为条件判断函数,如COUNT和SUM。例如:
```
SELECT COUNT( CASE WHEN AGE = 18 THEN '18岁的学生个数' END) EIGHTENN,
COUNT( CASE WHEN AGE = 19 THEN '19岁的学生个数' END) NINETEEN
FROM "PeopleInfo";
```
这个查询可以根据年龄进行条件判断,并返回不同年龄段的学生个数。
总结一下,Oracle中的CASE WHEN语句是一种用于在SQL查询中实现条件逻辑的表达式。它有两种常见的用法:简单的CASE表达式和检索的CASE表达式。此外,它还可以用于作为条件判断函数,如COUNT和SUM。
sql case when用法
SQL中的CASE WHEN用法是一种条件表达式,可以根据不同的条件执行不同的操作。它的基本语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等为条件表达式,result1、result2等为条件满足时的结果。ELSE关键字后面的result是当所有条件都不满足时的默认结果。
以下是一个简单的例子,演示了CASE WHEN的使用场景:
```sql
SELECT employee_id, first_name, last_name,
CASE
WHEN salary < 5000 THEN 'Low'
WHEN salary >= 5000 AND salary < 10000 THEN 'Medium'
ELSE 'High'
END AS salary_range
FROM employees;
```
上述示例中,根据员工的薪水salary,将其分为'Low'、'Medium'和'High'三个薪水范围,并将结果存储在名为'salary_range'的列中。
希望这个例子能帮助你理解SQL中的CASE WHEN用法。如果还有其他问题,请随时提问!
阅读全文