sql中case when 的用法
时间: 2023-08-07 17:11:01 浏览: 91
SQL Server 中的 CASE 语句用于执行不同的操作,根据不同的条件。语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result4
END
例如:
SELECT CASE WHEN age < 18 THEN 'Minor'
WHEN age >= 18 THEN 'Adult'
ELSE 'Unknown'
END
FROM Customers
这将会在每一行根据年龄条件返回'Minor','Adult' 或 'Unknown'。
相关问题
SQL中case when用法
在SQL中,`CASE WHEN` 是一个条件表达式,它用于根据一个或多个条件(`WHEN`)返回不同结果(`THEN`)。这个结构常用于数据转换、计算或简单的条件逻辑。其基本语法如下:
```sql
CASE
WHEN condition1 THEN result1
[WHEN condition2 THEN result2]
[ELSE default_result]
END
```
- `condition1`, `condition2`: 这些是布尔表达式,如果它们为真,则执行相应的`result1`或`result2`。
- `result1`, `result2`: 当条件满足时,返回的结果值。可以是常量、字段值或表达式。
- `ELSE`: 如果所有`WHEN`条件都不成立,执行此部分的代码,返回`default_result`。
例如,假设我们有一个销售表,我们可以使用`CASE WHEN`来计算每个订单的折扣金额:
```sql
SELECT
OrderID,
ProductName,
Amount,
CASE
WHEN DiscountPercent > 0 THEN Amount * (1 - DiscountPercent/100)
ELSE Amount
END AS DiscountedAmount
FROM Sales;
```
这里,如果`DiscountPercent`大于0,那么会计算折扣后的金额,否则保持原价。
sql中case when用法
SQL中的CASE WHEN用法是一种条件表达式。它允许在SQL查询中进行条件逻辑操作,以便对结果进行不同的计算。通常情况下,CASE WHEN语句用于检查一组条件,并根据条件结果选择不同的输出结果。例如:
SELECT
CASE
WHEN age < 18 THEN 'underage'
WHEN age BETWEEN 18 AND 64 THEN 'adult'
ELSE 'elderly'
END as age_group
FROM users;
这个查询将根据用户的年龄分配他们到不同的年龄组中。如果用户年龄小于18岁,则分配到 "underage" 组,如果用户介于18岁和64岁之间,则分配到 "adult" 组,否则分配到 "elderly" 组。
阅读全文