JIKA... ELSE (transact-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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.
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)
