De fleste (sandsynligvis alle). ) programmeringssprog inkluderer en form for IF
sætning, der tillader programmører at skrive betinget kode. Det vil sige kode, der kun vil køre hvis en bestemt betingelse er sand.
Det er et meget simpelt koncept. Grundlæggende går det sådan her:
"Hvis dette, så gør det."
De fleste sprog kalder det simpelthen IF
, men nogle har deres eget twist på navnet (f.eks. i ColdFusion/CFML hedder det CFIF
).
Under alle omstændigheder gør de i det væsentlige det samme.
I SQL Server (eller mere præcist, dets programmeringssprog T-SQL) kaldes det IF
.
Eksempel
Her er et grundlæggende eksempel for at demonstrere, hvordan IF
erklæring virker.
IF 1 < 2 SELECT 'True';
Resultat:
True
I dette tilfælde er udtrykket, der skal evalueres, 1 < 2
. Det er rigtigt, at 1 er mindre end 2, så SELECT
sætningen blev kørt og True
blev returneret.
Men hvis udtrykket er falsk, vil der ikke ske noget.
Følgende eksempel viser dette:
IF 1 > 2 SELECT 'True';
Resultat:
Commands completed successfully.
Alt, hvad SQL Server fortalte mig, er, at kommandoen blev gennemført med succes. Intet andet blev returneret, fordi intet andet var angivet.
HVIS… ELSE-erklæringen
I SQL Server er IF
sætning kommer med en valgfri ELSE
, som giver dig mulighed for at angive et alternativ, hvis udtrykket returnerer falsk.
Derfor er det som at sige "HVIS dette, gør dette, ANDET, gør det her".
I dette tilfælde kan vi tilføje den valgfrie ELSE
til IF
sætning, så den bliver en IF... ELSE
erklæring.
IF 1 > 2
SELECT 'True';
ELSE
SELECT 'False';
Resultat:
False
Nu får vi også et resultat, når udtrykket er falsk.
Indlejrede IF-erklæringer
En af de fantastiske ting ved IF
udsagn er, at du kan indlejre dem. Det vil sige, du kan tilføje flere IF
udsagn inde i din originale, og flere inde i dem osv.
Du kan indlejre lige så mange IF
udsagn som du vil. Du er kun begrænset af mængden af tilgængelig hukommelse.
Her er et eksempel på at indlejre en IF
udsagn inde i en anden.
DECLARE @bankBalance int = 123;
IF @bankBalance > 100
IF @bankBalance > 150
SELECT 'Rich!';
ELSE
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Resultat:
Wealthy
HVIS... ANDEN HVIS erklæringer
Du kan også bruge det som en IF... ELSE IF
udmelding.
DECLARE @bankBalance int = 123;
IF @bankBalance > 150
SELECT 'Rich!';
ELSE IF @bankBalance > 100
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Resultat:
Wealthy