1.1 Liste over betingede funksjoner

SQL-språket har en liste over funksjoner som ligner litt på operatøren if-elsei switchJava.

Det er totalt 4 slike funksjoner:

Funksjoner Beskrivelse
1 SAK analog bryter
2 HVIS() En analog av den ternære operatoren eller if-else
3 IFNULL() analog til if-else
4 NULLIF() analog til if-else

De tre siste i SQL er representert som funksjoner, og CASEer en fullverdig operatør, så vi vil vurdere det separat helt til slutt.

1.2 IF() funksjon

En funksjon IF()i SQL ligner litt på en ternær operatør i Java. I SQL-språk tar det 3 parametere og ser slik ut:

IF (condition, true, false)

Tre uttrykk må sendes til funksjonen IF:

  • en tilstand som er testet for sannhet;
  • et uttrykk som returneres når betingelsen er sann;
  • et uttrykk som returneres når betingelsen er falsk.

Nedenfor vil jeg gi noen eksempler for å gjøre det lettere å forstå hvordan det fungerer:

Be om Resultat
1 VELG HVIS( 1>2 , 2, 3) 3
2 VELG HVIS( 1<2 , 'ja', 'nei') 'ja'
3 SELECT IF( STRCMP('test','test1' ), 'nei', 'yes') 'Nei'

1.3 Funksjonen IFNULL() og NULLIF()

Det er også to modifikasjoner av funksjonen IF().

Den første modifikasjonen er funksjonen IFNULL(). Det krever bare to verdier:

IFNULL (expression 1, expression 2)

Hvis uttrykk1 ikke er lik NULL, vil funksjonen returnere uttrykk1 . Hvis uttrykk1 IS NULL, vil funksjonen returnere uttrykk2 . Essensen er erstatning av standardverdien når feltet er lik NULL.

Den andre modifikasjonen av funksjonen IFer funksjonen NULLIF(), den tar også to verdier:

NULLIF (expression 1, expression 2)

Det fungerer i motsatt retning:

  • hvis uttrykk1 er lik uttrykk2 , returnerer funksjonen NULL;
  • hvis uttrykk ikke er like, returneres expression1 .