Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Impone le condizioni per l'esecuzione di un'istruzione Transact-SQL. L'istruzione Transact-SQL che segue una IF parola chiave e la relativa condizione viene eseguita se la condizione viene soddisfatta: l'espressione booleana restituisce TRUE. La parola chiave facoltativa ELSE introduce un'altra istruzione Transact-SQL eseguita quando la IF condizione non viene soddisfatta: l'espressione booleana restituisce FALSE.
Convenzioni relative alla sintassi Transact-SQL
Syntax
IF boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Arguments
boolean_expression
Espressione che restituisce TRUE o FALSE. Se l'espressione booleana contiene un'istruzione SELECT , l'istruzione SELECT deve essere racchiusa tra parentesi.
{ sql_statement | statement_block }
Qualsiasi istruzione Transact-SQL o raggruppamento di istruzioni come definito tramite un blocco di istruzioni. A meno che non venga usato un blocco di istruzioni, la IF condizione o ELSE può influire sulle prestazioni di una sola istruzione Transact-SQL.
Per definire un blocco di istruzioni, usare le parole chiave BEGIN control-of-flow e END.
Remarks
Un IF...ELSE costrutto può essere usato in batch, in stored procedure e in query ad hoc. Quando questo costrutto viene usato in una stored procedure, è in genere necessario verificare l'esistenza di un parametro.
IF I test possono essere annidati dopo un altro IF oggetto o dopo un oggetto ELSE. Il limite del numero di livelli di nidificazione dipende dalla memoria disponibile.
Examples
IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
SELECT 'Weekend';
ELSE
SELECT 'Weekday';
Per altri esempi, vedere ELSE (IF... ELSE).
Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)
L'esempio seguente usa IF...ELSE per determinare quale delle due risposte visualizzare all'utente, in base al peso di un elemento nella tabella DimProduct.
-- 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;