首页 > 数据库 > mysql教程 > MySQL 的 CASE 表达式如何像 Switch 语句一样发挥作用?

MySQL 的 CASE 表达式如何像 Switch 语句一样发挥作用?

Patricia Arquette
发布: 2024-11-05 17:33:02
原创
581 人浏览过

How Does MySQL's CASE Expression Function Like a Switch Statement?

理解MySQL的CASE表达式

与直观的“if”语句不同,MySQL的CASE语法模仿“switch”语句。它提供两种不同的格式来评估条件并返回相应的结果。

比较语句的语法:

CASE<pre class="brush:php;toolbar:false">WHEN user_role = 'Manager' then 4
WHEN user_name = 'Tom' then 27
WHEN columnA <> columnB then 99
ELSE -1 --unknown
登录后复制

END

此格式允许您使用任何有效的 SQL 表达式指定多个比较条件。每个“WHEN”子句都会评估其条件,如果为真,则执行相应的语句。

具有单个值的语法:

CASE user_role<pre class="brush:php;toolbar:false">WHEN 'Manager' then 4
WHEN 'Part Time' then 7
ELSE -1 --unknown
登录后复制

END

这种简洁的形式假设您只检查一个值,并允许您在 CASE 表达式之后直接指定多个“WHEN”条件。 “ELSE”子句是可选的,如果没有满足“WHEN”条件,则提供后备值。

应用到您的示例:

生成新的字段“role_order”基于“user_role”字段,您可以使用第二种语法,如下所示:

CASE user_role<pre class="brush:php;toolbar:false">WHEN 'Manager' then 5
WHEN 'Part Time' then 8
ELSE -1 --unknown
登录后复制

END

;

当“user_role”为“Manager”时,此表达式将值 5 分配给“role_order”;当“user_role”为“Part Time”时,该表达式将值 8 分配给“role_order”;当这两个条件都不满足时,该表达式将值分配给 -1。

以上是MySQL 的 CASE 表达式如何像 Switch 语句一样发挥作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板