Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Nakłada warunki na wykonanie instrukcji Transact-SQL. Instrukcja Transact-SQL zgodna ze IF słowem kluczowym i jego warunkiem jest wykonywana, jeśli warunek jest spełniony: wyrażenie warunkowe zwraca wartość TRUE. Opcjonalne ELSE słowo kluczowe wprowadza inną instrukcję Transact-SQL wykonywaną, gdy IF warunek nie jest spełniony: wyrażenie logiczne zwraca wartość FALSE.
Transact-SQL konwencje składni
Syntax
IF boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Arguments
boolean_expression
Wyrażenie zwracające TRUE wartość lub FALSE. Jeśli wyrażenie logiczne zawiera instrukcję SELECT , SELECT instrukcja musi być ujęta w nawiasy.
{ sql_statement | statement_block }
Każda instrukcja Transact-SQL lub grupowanie instrukcji zgodnie z definicją przy użyciu bloku instrukcji. Jeśli blok instrukcji nie jest używany, IF warunek or ELSE może mieć wpływ na wydajność tylko jednej instrukcji Transact-SQL.
Aby zdefiniować blok instrukcji, użyj słów kluczowych BEGIN control-of-flow i END.
Remarks
Konstrukcja IF...ELSE może być używana w partiach, w procedurach składowanych i w zapytaniach ad hoc. Gdy ta konstrukcja jest używana w procedurze składowanej, zwykle należy przetestować istnienie określonego parametru.
IFtesty mogą być zagnieżdżone po innej IF lub następującej .ELSE Limit liczby poziomów zagnieżdżonych zależy od dostępnej pamięci.
Examples
IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
SELECT 'Weekend';
ELSE
SELECT 'Weekday';
Aby uzyskać więcej przykładów, zobacz ELSE (IF... ELSE).
Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)
W poniższym przykładzie użyto IF...ELSE metody do określenia, które z dwóch odpowiedzi mają być wyświetlane użytkownikowi DimProduct na podstawie wagi elementu w tabeli.
-- 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;