SQL CASE 表达式的完整语法
SQL CASE 表达式旨在处理复杂的查询,允许您评估多个条件,并根据满足的条件返回特定值。其语法在不同的数据库引擎中有所不同。
SQL Server
SQL Server 的 CASE 表达式的通用语法如下:
<code class="language-sql">CASE case-expression WHEN when-expression-1 THEN value-1 [ WHEN when-expression-n THEN value-n ... ] [ ELSE else-value ] END</code>
Oracle
Oracle 的 CASE 表达式语法采用略微不同的方法:
<code class="language-sql">CASE WHEN boolean-when-expression-1 THEN value-1 [ WHEN boolean-when-expression-n THEN value-n ... ] [ ELSE else-value ] END</code>
CASE 表达式的组成部分
执行语义
CASE 表达式按顺序评估每个 when-expression。找到匹配项时,返回相应的值。如果没有找到匹配项,则返回 else-value(如果有)。需要注意的是,when-expressions 的顺序很重要,因为第一个匹配的表达式优先。
示例
考虑以下查询:
<code class="language-sql">SELECT CASE student_age WHEN 18 THEN 'Teenager' WHEN 21 THEN 'Adult' ELSE 'Minor' END AS age_category FROM students;</code>
此查询根据学生的年龄分配相应的年龄类别,18 岁为“Teenager”,21 岁为“Adult”,低于 18 岁或未找到匹配项则为“Minor”。
以上是SQL CASE 表达式如何跨不同数据库系统工作?的详细内容。更多信息请关注PHP中文网其他相关文章!