JIKA... ELSE (transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Memberlakukan kondisi pada eksekusi pernyataan Transact-SQL. Pernyataan Transact-SQL yang mengikuti kata kunci IF dan kondisinya dijalankan jika kondisi terpenuhi: ekspresi Boolean mengembalikan TRUE. Kata kunci ELSE opsional memperkenalkan pernyataan transact-SQL lain yang dijalankan ketika kondisi IF tidak terpenuhi: ekspresi Boolean mengembalikan FALSE.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

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

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

Boolean_expression
Adalah ekspresi yang mengembalikan TRUE atau FALSE. Jika ekspresi Boolean berisi pernyataan SELECT, pernyataan SELECT harus diapit dalam tanda kurung.

{ sql_statement| statement_block }
Adalah pernyataan atau pengelompokan pernyataan transact-SQL seperti yang didefinisikan dengan menggunakan blok pernyataan. Kecuali blok pernyataan digunakan, kondisi IF atau ELSE hanya dapat memengaruhi performa satu pernyataan transact-SQL.

Untuk menentukan blok pernyataan, gunakan kata kunci control-of-flow BEGIN dan END.

Keterangan

SEBUAH IF... Konstruksi ELSE dapat digunakan dalam batch, dalam prosedur tersimpan, dan dalam kueri ad hoc. Ketika konstruksi ini digunakan dalam prosedur tersimpan, konstruksi ini sering digunakan untuk menguji keberadaan beberapa parameter.

Pengujian IF dapat ditumpuk setelah IF lain atau mengikuti ELSE. Batas jumlah tingkat berlapis tergantung pada memori yang tersedia.

Contoh

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

Untuk contoh selengkapnya, lihat ELSE (IF... ELSE) (Transact-SQL).

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

Contoh berikut menggunakan IF...ELSE untuk menentukan mana dari dua respons yang akan ditampilkan kepada pengguna, berdasarkan berat item dalam DimProduct tabel.

-- Uses AdventureWorksDW  

DECLARE @maxWeight FLOAT, @productKey INTEGER  
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
ELSE  
    SELECT @productKey AS ProductKey, EnglishDescription, Weight, 'This product is available for shipping or pickup.' 
        AS ShippingStatus
    FROM DimProduct WHERE ProductKey = @productKey

Lihat juga

MULAI... END (SQL Bertransaksi)
END (BEGIN... END) (Transact-SQL)
SELECT (Transact-SQL)
WHILE (Transact-SQL)
CASE (transact-SQL)
Control-of-Flow Language (Transact-SQL)ELSE (IF... ELSE) (Transact-SQL)