La maggior parte (probabilmente tutti ) i linguaggi di programmazione includono una qualche forma di IF
istruzione che consente ai programmatori di scrivere codice condizionale. Cioè, codice che verrà eseguito solo se una certa condizione è vera.
È un concetto molto semplice. Fondamentalmente funziona così:
"Se questo, fallo."
La maggior parte delle lingue lo chiama semplicemente IF
, ma alcuni hanno una loro torsione sul nome (ad esempio, in ColdFusion/CFML, si chiama CFIF
).
In ogni caso, essenzialmente fanno la stessa cosa.
In SQL Server (o più precisamente, il suo linguaggio di programmazione T-SQL) si chiama IF
.
Esempio
Ecco un esempio di base per dimostrare come il IF
la dichiarazione funziona.
IF 1 < 2 SELECT 'True';
Risultato:
True
In questo caso, l'espressione da valutare è 1 < 2
. È vero che 1 è minore di 2 quindi SELECT
l'istruzione è stata eseguita e True
è stato restituito.
Tuttavia, se l'espressione è falsa, non accadrà nulla.
L'esempio seguente lo dimostra:
IF 1 > 2 SELECT 'True';
Risultato:
Commands completed successfully.
Tutto ciò che SQL Server mi ha detto è che il comando è stato completato correttamente. Nient'altro è stato restituito, perché nient'altro è stato specificato.
La dichiarazione IF... ELSE
In SQL Server, il IF
viene fornito con un ELSE
opzionale , che consente di fornire un'alternativa, nel caso in cui l'espressione restituisca false.
Pertanto, è come dire "SE questo, fai questo, ALTRIMENTI, fai questo".
In questo caso, possiamo aggiungere l'opzione ELSE
al IF
istruzione, in modo che diventi un IF... ELSE
dichiarazione.
IF 1 > 2
SELECT 'True';
ELSE
SELECT 'False';
Risultato:
False
Ora otteniamo anche un risultato quando l'espressione è falsa.
Dichiarazioni IF nidificate
Una delle grandi cose di IF
dichiarazioni è che puoi annidarli. Cioè, puoi aggiungere più IF
affermazioni all'interno di quella originale e altre all'interno di quelle ecc.
Puoi annidare tanti IF
affermazioni come preferisci. Sei limitato solo dalla quantità di memoria disponibile.
Ecco un esempio di annidamento di un IF
dichiarazione dentro un altro.
DECLARE @bankBalance int = 123;
IF @bankBalance > 100
IF @bankBalance > 150
SELECT 'Rich!';
ELSE
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Risultato:
Wealthy
IF... ELSE IF Dichiarazioni
Puoi anche usarlo come IF... ELSE IF
dichiarazione.
DECLARE @bankBalance int = 123;
IF @bankBalance > 150
SELECT 'Rich!';
ELSE IF @bankBalance > 100
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Risultato:
Wealthy