MySQL用case语句
时间: 2024-09-25 14:06:36 浏览: 34
MySQL的CASE语句是一种条件选择语句,用于根据特定的条件返回不同的值。它的工作原理类似于其他编程语言中的三元表达式,但在SQL中更加强大,可以处理复杂的判断逻辑。CASE结构通常包含以下几个部分:
1. **WHEN**部分:指定每个可能的条件,如果某个条件满足,就会执行对应的`THEN`操作。
2. **WHEN...ELSE**部分:这是可选的,如果所有WHEN都不匹配,那么会执行这个ELSE后的操作。
3. **END CASE**:标志着CASE语句的结束。
一个基本的CASE结构可能像这样:
```sql
SELECT column_name,
CASE
WHEN condition THEN result_if_true
ELSE result_if_false
END AS new_column
FROM table_name;
```
例如,如果你想根据不同年龄段将年龄分为儿童、青少年、成人和老年,你可以这样做:
```sql
SELECT age,
CASE
WHEN age BETWEEN 0 AND 12 THEN '儿童'
WHEN age BETWEEN 13 AND 18 THEN '青少年'
WHEN age BETWEEN 19 AND 64 THEN '成人'
ELSE '老年'
END AS age_group
FROM users;
```
相关问题
mysql的case语句
MySQL的CASE语句是一种条件语句,用于根据给定的条件执行不同的操作。它有两种形式:简单CASE语句和可搜索CASE语句。
1. 简单CASE语句
简单CASE语句的语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
```
其中,expression是要比较的表达式,value1、value2等是要比较的值,result1、result2等是对应的结果,default_result是当没有匹配的值时返回的默认结果。
举个例子,假设有一个名为tbl_test_campus的表,其中有一个名为campus_tp的字段,它的值为0或1,分别表示大学和中小幼。我们可以使用简单CASE语句将其转化为具体含义,SQL语句如下:
```
SELECT campus_tp, CASE campus_tp
WHEN "0" THEN "大学"
WHEN "1" THEN "中小幼"
ELSE ""
END AS "校园类别"
FROM tbl_test_campus;
```
上述SQL语句将campus_tp字段的值与0和1进行比较,如果是0则返回“大学”,如果是1则返回“中小幼”,否则返回空字符串。执行结果如下:
```
+-----------+--------------+
| campus_tp | 校园类别 |
+-----------+--------------+
| 0 | 大学 |
| 0 | 大学 |
| 1 | 中小幼 |
| | |
+-----------+--------------+
4 rows in set (0.00 sec)
```
2. 可搜索CASE语句
可搜索CASE语句的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,condition1、condition2等是要比较的条件,result1、result2等是对应的结果,default_result是当没有匹配的条件时返回的默认结果。
举个例子,假设有一个名为tbl_test_score的表,其中有一个名为score的字段,我们可以使用可搜索CASE语句将其转化为成绩等级,SQL语句如下:
```
SELECT score,
CASE
WHEN score >= 90 THEN "优秀"
WHEN score >= 80 THEN "良好"
WHEN score >= 70 THEN "中等"
WHEN score >= 60 THEN "及格"
ELSE "不及格"
END AS "成绩等级"
FROM tbl_test_score;
```
上述SQL语句将score字段的值与一系列条件进行比较,如果满足条件则返回对应的成绩等级,否则返回“不及格”。执行结果如下:
```
+-------+--------+
| score | 成绩等级 |
+-------+--------+
| 85 | 良好 |
| 92 | 优秀 |
| 68 | 中等 |
| 55 | 不及格 |
+-------+--------+
4 rows in set (0.00 sec)
```
mysql中case语句
MySQL中的CASE语句用于实现条件判断和控制流。它允许根据条件表达式的结果选择不同的操作或值。
一般情况下,CASE语句有两种形式:简单CASE表达式和搜索CASE表达式。
1. 简单CASE表达式:
```sql
CASE case_value
WHEN value1 THEN result1
WHEN value2 THEN result2
...
阅读全文