1.1 Listahan ng mga conditional function
Ang wikang SQL ay may listahan ng mga function na medyo katulad ng operator if-else
sa switch
Java.
Mayroong 4 na mga function sa kabuuan:
Mga pag-andar | Paglalarawan | |
---|---|---|
1 | KASO | analog switch |
2 | KUNG() | Isang analogue ng ternary operator o kung-iba |
3 | IFNULL() | analogue ng if-else |
4 | NULLIF() | analogue ng if-else |
Ang huling tatlong sa SQL ay kinakatawan bilang mga function, at CASE
ito ay isang ganap na operator, kaya isasaalang-alang namin ito nang hiwalay sa pinakadulo.
1.2 IF() function
Ang isang function IF()
sa SQL ay medyo katulad ng isang ternary operator sa Java. Sa wikang SQL, kailangan ng 3 parameter at ganito ang hitsura:
IF (condition, true, false)
Tatlong expression ang dapat ipasa sa function IF
:
- isang kondisyon na sinusubok para sa katotohanan;
- isang expression na ibinalik kapag ang kundisyon ay totoo;
- isang expression na ibinalik kapag mali ang kundisyon.
Sa ibaba ay magbibigay ako ng ilang halimbawa para mas madaling maunawaan kung paano ito gumagana:
Hiling | Resulta | |
---|---|---|
1 | PILIIN KUNG( 1>2 , 2, 3) | 3 |
2 | PILIIN KUNG( 1<2 , 'oo', 'hindi') | 'oo' |
3 | PILIIN KUNG( STRCMP('test','test1' ), 'no', 'oo') | 'hindi' |
1.3 Function IFNULL() at NULLIF()
Mayroon ding dalawang pagbabago sa function IF()
.
Ang unang pagbabago ay ang function IFNULL()
. Dalawang halaga lang ang kailangan:
IFNULL (expression 1, expression 2)
Kung ang expression1 ay hindi katumbas ng NULL
, ang function ay magbabalik ng expression1 . Kung expression1 IS NULL,
ang function ay magbabalik expression2 . Ang kakanyahan ay ang pagpapalit ng default na halaga kapag ang field ay katumbas ng NULL
.
Ang pangalawang pagbabago ng function IF
ay ang function NULLIF()
, tumatagal din ito ng dalawang halaga:
NULLIF (expression 1, expression 2)
Gumagana ito sa kabaligtaran na direksyon:
- kung ang expression1 ay katumbas ng expression2 , pagkatapos ay bumalik ang function
NULL
; - kung ang mga expression ay hindi pantay, ang expression1 ay ibinalik .
GO TO FULL VERSION