Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Legt voorwaarden op voor de uitvoering van een Transact-SQL verklaring. De Transact-SQL-instructie die volgt op een IF trefwoord en de voorwaarde wordt uitgevoerd als aan de voorwaarde wordt voldaan: de Boole-expressie retourneert TRUE. Het optionele ELSE trefwoord introduceert een andere Transact-SQL instructie die wordt uitgevoerd wanneer niet aan de IF voorwaarde wordt voldaan: de Boole-expressie retourneert FALSE.
Transact-SQL syntaxis-conventies
Syntax
IF boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Arguments
boolean_expression
Een expressie die retourneert TRUE of FALSE. Als de Boole-expressie een SELECT instructie bevat, moet de SELECT instructie tussen haakjes staan.
{ sql_statement | statement_block }
Elke Transact-SQL instructie of instructiegroepering zoals gedefinieerd met behulp van een instructieblok. Tenzij een instructieblok wordt gebruikt, kan de IF of ELSE voorwaarde van invloed zijn op de prestaties van slechts één Transact-SQL instructie.
Als u een instructieblok wilt definiëren, gebruikt u de trefwoorden BEGIN voor besturingsstromen en END.
Remarks
Een IF...ELSE constructie kan worden gebruikt in batches, in opgeslagen procedures en in ad-hocquery's. Wanneer deze constructie wordt gebruikt in een opgeslagen procedure, is het meestal om te testen op het bestaan van een bepaalde parameter.
IF tests kunnen worden genest na een andere IF of na een ELSE. De limiet voor het aantal geneste niveaus is afhankelijk van het beschikbare geheugen.
Examples
IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
SELECT 'Weekend';
ELSE
SELECT 'Weekday';
Zie ELSE (ALS) voor meer voorbeelden. ELSE).
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
In het volgende voorbeeld wordt gebruikt IF...ELSE om te bepalen welke van twee antwoorden de gebruiker moet weergeven, op basis van het gewicht van een item in de 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;