`case`语句是一种在编程中常用的条件语句,用于对多个条件进行判断并执行相应的操作。`case`语句的基本语法如下:
```plaintext
case expression:
case value1:
// 执行操作1
break;
case value2:
// 执行操作2
break;
...
default:
// 默认操作
break;
```
当`expression`与某个`value`匹配时,相应的操作就会被执行。如果没有匹配的值,可以通过`default`指定一个默认操作,以防止不匹配的情况发生。
示例
```plaintext
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 70 THEN '中等'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END
```
注意事项
`break`语句:
每个`case`分支后面通常需要跟一个`break`语句,以防止执行多个分支的代码。如果不使用`break`,程序会继续执行下一个`case`分支,直到遇到`break`或`end`。
`default`分支:
`default`分支是可选的,用于处理所有未明确匹配的情况。
多条件判断:
可以通过多个`when`子句来判断多个条件,并在满足第一个条件时执行相应的操作。
在SQL中的使用
在SQL中,`CASE`语句常用于查询中的条件判断和数据转换,其语法与上述类似:
```sql
SELECT
column1,
column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END AS new_column
FROM table_name;
```
例如,以下SQL查询根据价格范围将商品状态分为三类:
```sql
SELECT
商品名称,
价格,
库存,
CASE
WHEN 价格 > 100 AND 库存 < 10 THEN '高价常见'
WHEN 价格 <= 100 AND 库存 < 10 THEN '低价抢手'
ELSE '便宜量足'
END AS 商品状态
FROM 商品表;
```
通过这些示例,可以看到`case`语句在不同编程环境中的广泛应用和语法差异。