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中文網其他相關文章!