首頁 >資料庫 >mysql教程 >如何在 SQL SELECT 語句中實作 IF-THEN 邏輯?

如何在 SQL SELECT 語句中實作 IF-THEN 邏輯?

Barbara Streisand
Barbara Streisand原創
2025-01-22 15:27:09536瀏覽

How Can I Implement IF-THEN Logic in SQL SELECT Statements?

在SQL SELECT語句中實作IF-THEN邏輯

SQL程式設計中一個常見的需求是執行條件檢查,並根據結果傳回不同的結果。本文將探討如何在SQL SELECT語句中實作IF...THEN邏輯。

使用CASE語句

CASE語句相當於SQL中的IF語句。它允許您指定多個條件和相應的操作。

<code class="language-sql">SELECT CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE result3
END AS conditional_column, *
FROM table_name</code>

例如,要依照產品的Obsolete和InStock值檢查產品是否可銷售:

<code class="language-sql">SELECT CAST(
    CASE
        WHEN Obsolete = 'N' OR InStock = 'Y'
        THEN 1
        ELSE 0
    END AS bit) AS Saleable, *
FROM Product</code>

使用IIF語句 (SQL Server 2012以上)

SQL Server 2012中所引入的IIF語句簡化了條件語句的語法。其格式如下:

<code class="language-sql">SELECT IIF(condition, result_if_true, result_if_false) AS conditional_column, *
FROM table_name</code>

上面的範例可以使用IIF語句改寫為:

<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, *
FROM Product</code>

其他說明

  • CASE語句可以嵌套以處理更複雜的條件。
  • CAST運算子可以用來將結果轉換為特定資料類型,例如布林型。
  • 巢狀的CASE語句和IIF語句可以包含在聚合函數中。

以上是如何在 SQL SELECT 語句中實作 IF-THEN 邏輯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn