Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Legt Bedingungen für die Ausführung einer Transact-SQL-Anweisung fest. Die Transact-SQL-Anweisung, die einem IF Schlüsselwort folgt und dessen Bedingung ausgeführt wird, wenn die Bedingung erfüllt ist: der boolesche Ausdruck gibt zurück TRUE. Das optionale ELSE Schlüsselwort führt eine weitere Transact-SQL-Anweisung ein, die ausgeführt wird, wenn die IF Bedingung nicht erfüllt ist: der boolesche Ausdruck gibt zurück FALSE.
Transact-SQL-Syntaxkonventionen
Syntax
IF boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Arguments
boolean_expression
Ein Ausdruck, der zurückgibt TRUE oder FALSE. Wenn der boolesche Ausdruck eine SELECT Anweisung enthält, muss die SELECT Anweisung in Klammern eingeschlossen werden.
{ sql_statement | statement_block }
Jede Transact-SQL-Anweisung oder -Anweisung, die mithilfe eines Anweisungsblocks definiert ist. Sofern kein Anweisungsblock verwendet wird, kann die IFELSE Bedingung nur die Leistung einer Transact-SQL-Anweisung beeinflussen.
Verwenden Sie zum Definieren eines Anweisungsblocks die Schlüsselwörter für die Steuerung des Flusses BEGIN und END.
Remarks
Ein IF...ELSE Konstrukt kann in Batches, in gespeicherten Prozeduren und in Ad-hoc-Abfragen verwendet werden. Wenn dieses Konstrukt in einer gespeicherten Prozedur verwendet wird, müssen Sie in der Regel das Vorhandensein eines Parameters testen.
IF Tests können nach einem anderen IF oder nach einem ELSEanderen geschachtelt werden. Das Limit für die Anzahl geschachtelter Ebenen hängt vom verfügbaren Arbeitsspeicher ab.
Examples
IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
SELECT 'Weekend';
ELSE
SELECT 'Weekday';
Weitere Beispiele finden Sie unter ELSE (WENN... ELSE).
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
Im folgenden Beispiel wird IF...ELSE verwendet, um basierend auf der Gewichtung eines Elements in der DimProduct-Tabelle festzulegen, welche Antwort von zwei Antworten dem Benutzer angezeigt wird.
-- 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;