Microsoft SQL Server
ANSONSTEN
Suche…
Einzelne IF-Anweisung
Wie die meisten anderen Programmiersprachen unterstützt T-SQL auch IF..ELSE-Anweisungen.
Im folgenden Beispiel ist 1 = 1 der Ausdruck, der den BEGIN..END True BEGIN..END und das Steuerelement in den BEGIN..END Block eintritt und die Print-Anweisung die Zeichenfolge 'One is equal to One' BEGIN..END
IF ( 1 = 1) --<-- Some Expression
BEGIN
PRINT 'One is equal to One'
END
Mehrere IF-Anweisungen
Wir können mehrere IF-Anweisungen verwenden, um mehrere Ausdrücke völlig unabhängig voneinander zu prüfen.
Im folgenden Beispiel wird der Ausdruck jeder IF Anweisung ausgewertet, und wenn sie wahr ist, wird der Code innerhalb des BEGIN...END Blocks ausgeführt. In diesem speziellen Beispiel sind der erste und der dritte Ausdruck wahr und nur diese Druckanweisungen werden ausgeführt.
IF (1 = 1) --<-- Some Expression --<-- This is true
BEGIN
PRINT 'First IF is True' --<-- this will be executed
END
IF (1 = 2) --<-- Some Expression
BEGIN
PRINT 'Second IF is True'
END
IF (3 = 3) --<-- Some Expression --<-- This true
BEGIN
PRINT 'Thrid IF is True' --<-- this will be executed
END
Einzelne IF..ELSE-Anweisung
Wenn der Ausdruck in einer einzigen IF..ELSE Anweisung in der IF Anweisung als "True" ausgewertet wird, tritt die Steuerung in den ersten BEGIN..END Block ein und wird nur der Code innerhalb dieses Blocks ausgeführt, der Else-Block wird einfach ignoriert.
Wenn der Ausdruck dagegen als " False ausgewertet wird, wird der ELSE BEGIN..END Block ausgeführt und die Steuerung tritt niemals in den ersten BEGIN..END Block ein.
Im nachstehenden Beispiel wird der Ausdruck als "false" ausgewertet und der Else-Block wird ausgeführt, wobei die Zeichenfolge 'First expression was not true' gedruckt 'First expression was not true'
IF ( 1 <> 1) --<-- Some Expression
BEGIN
PRINT 'One is equal to One'
END
ELSE
BEGIN
PRINT 'First expression was not true'
END
Mehrere IF ... ELSE mit endgültigen ELSE-Anweisungen
Wenn wir Multiple IF...ELSE IF Anweisungen haben, aber auch etwas Code ausführen möchten, wenn keine der Ausdrücke als "True" ausgewertet wird, können wir einfach einen abschließenden ELSE Block hinzufügen, der nur ausgeführt wird, wenn keine der IF oder ELSE IF Ausdrücke werden als wahr ausgewertet.
Im folgenden Beispiel ist 'No other expression is true' der IF noch der ELSE IF Ausdruck "True", daher wird nur der ELSE Block ausgeführt und 'No other expression is true'
IF ( 1 = 1 + 1 )
BEGIN
PRINT 'First If Condition'
END
ELSE IF (1 = 2)
BEGIN
PRINT 'Second If Else Block'
END
ELSE IF (1 = 3)
BEGIN
PRINT 'Third If Else Block'
END
ELSE
BEGIN
PRINT 'No other expression is true' --<-- Only this statement will be printed
END
Mehrere IF ... ELSE-Anweisungen
In den meisten Fällen müssen wir mehrere Ausdrücke überprüfen und auf der Grundlage dieser Ausdrücke spezifische Aktionen ausführen. Diese Situation wird mit mehreren IF...ELSE IF Anweisungen behandelt.
In diesem Beispiel werden alle Ausdrücke von oben nach unten ausgewertet. Sobald ein Ausdruck als wahr ausgewertet wird, wird der Code in diesem Block ausgeführt. Wenn kein Ausdruck als wahr ausgewertet wird, wird nichts ausgeführt.
IF (1 = 1 + 1)
BEGIN
PRINT 'First If Condition'
END
ELSE IF (1 = 2)
BEGIN
PRINT 'Second If Else Block'
END
ELSE IF (1 = 3)
BEGIN
PRINT 'Third If Else Block'
END
ELSE IF (1 = 1) --<-- This is True
BEGIN
PRINT 'Last Else Block' --<-- Only this statement will be printed
END