sql中case when 的用法
时间: 2023-08-07 13:11:01 浏览: 95
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 是一种条件表达式,用于根据条件返回不同的值。其基本语法如下:
```
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2 等是条件表达式,result1、result2 等是对应条件成立时返回的结果,default_result 是当所有条件都不成立时返回的默认结果。
例如,以下 SQL 语句将根据订单金额的大小返回不同的等级:
```
SELECT order_id, order_amount,
CASE WHEN order_amount >= 1000 THEN 'VIP'
WHEN order_amount >= 500 THEN 'Gold'
ELSE 'Regular'
END AS customer_level
FROM orders;
```
阅读全文