MYSQL控制流函数CASE是如何工作的?
短信预约 -IT技能 免费直播动态提醒
MySQL CASE 语句是一种流程控制功能,允许我们在查询中构建条件,例如 SELECT 或 WHERE 子句。我们有两种 CASE 语句语法
Syntax-1
CASE val
WHEN compare_val1 THEN result1
WHEN compare_val2 THEN result2
.
.
.
Else result
END
在第一个语法中,如果 val 等于 compare_val1,则 CASE 语句返回 result1。如果 val 等于 compare_val2,则 CASE 语句返回 result2,依此类推。
如果 val 与任何compare_val 都不匹配,则CASE 语句返回 ELSE 子句中指定的结果。
示例
mysql> Select CASE 100
-> WHEN 100 THEN 'It is matched'
-> WHEN 200 THEN 'It is not matched'
-> ELSE 'No use of this Number'
-> END as 'Matching the Number';
+---------------------+
| Matching the Number |
+---------------------+
| It is matched |
+---------------------+
1 row in set (0.06 sec)
语法2
CASE
WHEN condition_1 THEN result1
WHEN condition_2 THEN result2
.
.
.
Else result
END
在第二种语法中,CASE 语句返回结果 1、结果 2 等。如果条件为真。如果所有条件均不成立,CASE 语句将返回 ELSE 子句中指定的结果。
示例
mysql> Select CASE
-> WHEN (100 = 100) THEN 'It is Matched'
-> WHEN (200 = 100) Then 'It is Not Matched'
-> Else 'No use of Number'
-> END as 'Matching the Number';
+---------------------+
| Matching the Number |
+---------------------+
| It is Matched |
+---------------------+
1 row in set (0.00 sec)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341