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