1.1 Lijst met voorwaardelijke functies
De SQL-taal heeft een lijst met functies die enigszins lijkt op de operator if-else
in switch
Java.
Er zijn in totaal 4 van dergelijke functies:
Functies | Beschrijving | |
---|---|---|
1 | GEVAL | analoge schakelaar |
2 | ALS() | Een analoog van de ternaire operator of als-anders |
3 | IFNULL() | analoog van als-anders |
4 | NULLIF() | analoog van als-anders |
De laatste drie in SQL worden weergegeven als functies en CASE
zijn een volwaardige operator, dus we zullen het helemaal aan het einde afzonderlijk bekijken.
1.2 ALS() functie
Een functie IF()
in SQL lijkt enigszins op een ternaire operator in Java. In SQL-taal zijn er 3 parameters nodig en het ziet er als volgt uit:
IF (condition, true, false)
Er moeten drie uitdrukkingen aan de functie worden doorgegeven IF
:
- een toestand die op waarheid wordt getest;
- een expressie die wordt geretourneerd wanneer de voorwaarde waar is;
- een expressie die wordt geretourneerd als de voorwaarde onwaar is.
Hieronder zal ik enkele voorbeelden geven om het gemakkelijker te maken om te begrijpen hoe het werkt:
Verzoek | Resultaat | |
---|---|---|
1 | KIES ALS( 1>2 , 2, 3) | 3 |
2 | SELECTEER ALS( 1<2 , 'ja', 'nee') | 'Ja' |
3 | SELECT IF( STRCMP('test','test1' ), 'nee', 'ja') | 'Nee' |
1.3 Functie IFNULL() en NULLIF()
Er zijn ook twee wijzigingen van de functie IF()
.
De eerste wijziging is de functie IFNULL()
. Er zijn slechts twee waarden nodig:
IFNULL (expression 1, expression 2)
Als expression1 niet gelijk is aan NULL
, dan zal de functie expression1 teruggeven . Als expression1 IS NULL,
dan zal de functie expression2 teruggeven . De essentie is de vervanging van de standaardwaarde wanneer het veld gelijk is aan NULL
.
De tweede wijziging van de functie IF
is de functie NULLIF()
, er zijn ook twee waarden voor nodig:
NULLIF (expression 1, expression 2)
Het werkt averechts:
- als expression1 gelijk is aan expression2 , dan retourneert de functie
NULL
; - als expressies niet gelijk zijn, wordt expression1 geretourneerd .