1.1 Listahan ng mga conditional function

Ang wikang SQL ay may listahan ng mga function na medyo katulad ng operator if-elsesa switchJava.

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 CASEito 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 IFay 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 .