1.1 Lista funkcji warunkowych
Język SQL ma listę funkcji, które są nieco podobne do operatora if-elsew switchJavie.
W sumie są 4 takie funkcje:
| Funkcje | Opis | |
|---|---|---|
| 1 | SPRAWA | przełącznik analogowy |
| 2 | JEŚLI() | Analogia operatora trójskładnikowego lub if-else |
| 3 | JEŻELI NULL() | odpowiednik if-else |
| 4 | NULLIF() | odpowiednik if-else |
Ostatnie trzy w SQL są reprezentowane jako funkcje i CASEsą pełnoprawnymi operatorami, więc rozważymy je osobno na samym końcu.
1.2 Funkcja JEŻELI().
Funkcja IF()w języku SQL jest nieco podobna do operatora trójskładnikowego w Javie. W języku SQL przyjmuje 3 parametry i wygląda tak:
IF (condition, true, false)
Do funkcji należy przekazać trzy wyrażenia IF:
- warunek, który jest sprawdzany pod kątem prawdziwości;
- wyrażenie zwracane, gdy warunek jest prawdziwy;
- wyrażenie zwracane, gdy warunek jest fałszywy.
Poniżej podam kilka przykładów, aby łatwiej było zrozumieć, jak to działa:
| Wniosek | Wynik | |
|---|---|---|
| 1 | WYBIERZ JEŚLI( 1>2 , 2, 3) | 3 |
| 2 | WYBIERZ JEŻELI( 1<2 , 'tak', 'nie') | 'Tak' |
| 3 | WYBIERZ JEŻELI( STRCMP('test','test1' ), 'nie', 'tak') | 'NIE' |
1.3 Funkcja JEŻELI NULL() i NULLIF()
Istnieją również dwie modyfikacje funkcji IF().
Pierwszą modyfikacją jest funkcja IFNULL(). Przyjmuje tylko dwie wartości:
IFNULL (expression 1, expression 2)
Jeśli wyrażenie1 nie jest równe NULL, funkcja zwróci wyrażenie1 . Jeśli wyrażenie1 IS NULL, to funkcja zwróci wyrażenie2 . Istotą jest zastąpienie wartości domyślnej, gdy pole jest równe NULL.
Drugą modyfikacją funkcji IFjest funkcja NULLIF(), która również przyjmuje dwie wartości:
NULLIF (expression 1, expression 2)
Działa to w przeciwnym kierunku:
- jeśli wyrażenie1 jest równe wyrażeniu2 , funkcja zwraca
NULL; - jeśli wyrażenia nie są równe, zwracane jest wyrażenie1 .
GO TO FULL VERSION