JIKA... ELSE (Transact-SQL)
Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric
Memberlakukan kondisi pada eksekusi pernyataan Transact-SQL. Pernyataan Transact-SQL yang mengikuti IF
kata kunci dan kondisinya dijalankan jika kondisi terpenuhi: ekspresi Boolean mengembalikan TRUE
. Kata kunci opsional ELSE
memperkenalkan pernyataan Transact-SQL lain yang dijalankan ketika IF
kondisi tidak terpenuhi: ekspresi Boolean mengembalikan FALSE
.
Sintaksis
IF boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
boolean_expression
Ekspresi yang mengembalikan TRUE
atau FALSE
. Jika ekspresi Boolean berisi SELECT
pernyataan, SELECT
pernyataan harus diapit dalam tanda kurung.
{ sql_statement | statement_block }
Setiap pernyataan Transact-SQL atau pengelompokan pernyataan seperti yang didefinisikan dengan menggunakan blok pernyataan. Kecuali blok pernyataan digunakan, IF
kondisi atau ELSE
dapat memengaruhi performa hanya satu pernyataan Transact-SQL.
Untuk menentukan blok pernyataan, gunakan kata kunci BEGIN
control-of-flow dan END
.
Keterangan
Konstruksi IF...ELSE
dapat digunakan dalam batch, dalam prosedur tersimpan, dan dalam kueri ad hoc. Ketika konstruksi ini digunakan dalam prosedur tersimpan, biasanya untuk menguji keberadaan beberapa parameter.
IF
tes dapat disarangkan setelah yang ELSE
lain IF
atau mengikuti . 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 lainnya, lihat ELSE (IF... LAIN).
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
Contoh berikut menggunakan IF...ELSE
untuk menentukan mana dari dua respons yang akan ditampilkan pengguna, berdasarkan berat item dalam DimProduct
tabel.
-- 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;
ELSE
SELECT @productKey AS ProductKey,
EnglishDescription,
Weight,
'This product is available for shipping or pickup.' AS ShippingStatus
FROM DimProduct
WHERE ProductKey = @productKey;
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk