添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
玩足球的拐杖  ·  OPENJSON ...·  6 天前    · 
正直的冲锋衣  ·  IF...ELSE ...·  4 天前    · 
可爱的豆芽  ·  GitHub - ...·  1 月前    · 
从容的电梯  ·  彻底解决 ...·  3 月前    · 
適用於: SQL Server Azure SQL Database Azure SQL 受控實例 Azure Synapse Analytics 分析平台系統 (PDW) Microsoft Fabric 中的 SQL 分析端點 Microsoft Fabric 中的倉儲 Microsoft Fabric Preview 中的 SQL 資料庫

在 Transact-SQL 陳述式的執行上強制加上條件。 如果符合條件,則會執行後面 IF 關鍵詞及其條件的 Transact-SQL 語句:布爾運算式會傳 TRUE 回 。 選擇性 ELSE 關鍵字引進了另一個在不符合條件時 IF 執行的 Transact-SQL 語句:布爾運算式會傳 FALSE 回 。

Transact-SQL 語法慣例

Syntax

IF boolean_expression
    { sql_statement | statement_block }
[ ELSE
    { sql_statement | statement_block } ]

Arguments

boolean_expression

傳回 或TRUEFALSE表達式。 如果布爾表達式包含 SELECT 語句, SELECT 語句必須以括弧括住。

{ sql_statement | statement_block }

使用語句區塊所定義的任何 Transact-SQL 語句或語句群組。 除非使用語句區塊, IF 否則 或 ELSE 條件只會影響一個 Transact-SQL 語句的效能。

若要定義語句區塊,請使用流程控制關鍵字 BEGINEND

Remarks

IF...ELSE建構可以用於批次、預存程式和臨機操作查詢中。 當這個建構用於預存程式中時,通常會測試某些參數是否存在。

IF 測試可以巢狀於另一個 IF 或之後 ELSE。 巢狀層級數目的限制,會隨著可用的記憶體而不同。

Examples

IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
    SELECT 'Weekend';
    SELECT 'Weekday';

如需更多範例,請參閱 ELSE (IF...ELSE)

範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

下列範例使用 IF...ELSE,以根據 DimProduct 資料表中項目的權數,來判斷要向使用者顯示兩個回應中的哪一個。

-- Uses AdventureWorksDW
DECLARE @maxWeight FLOAT, @productKey INT;
SET @maxWeight = 100.00;
SET @productKey = 424;
IF @maxWeight <= (
        SELECT Weight
        FROM DimProduct
        WHERE ProductKey = @productKey
    SELECT @productKey AS ProductKey,
        EnglishDescription,
        Weight,
        'This product is too heavy to ship and is only available for pickup.' AS ShippingStatus
    FROM DimProduct
    WHERE ProductKey = @productKey;
    SELECT @productKey AS ProductKey,
        EnglishDescription,
        Weight,
        'This product is available for shipping or pickup.' AS ShippingStatus
    FROM DimProduct
    WHERE ProductKey = @productKey;

              BEGIN...END (Transact-SQL)
              END (BEGIN...END) (Transact-SQL)
              SELECT (Transact-SQL)
              WHILE (Transact-SQL)
              CASE (Transact-SQL)
              流程控制語言 (Transact-SQL)
              ELSE (IF...ELSE) (Transact-SQL)