МиСКЛ ЦАСЕ израз је део функције тока контроле која нам омогућава да напишемо ако-друго или ако-онда-друго логика упита. Овај израз се може користити било где где се користи важећи програм или упит, као што су СЕЛЕЦТ, ВХЕРЕ, ОРДЕР БИ клаузула итд.
Израз ЦАСЕ потврђује различите услове и враћа резултат када је први услов истина . Једном када је услов испуњен, престаје да се креће и даје излаз. Ако не пронађе ниједан услов тачан, извршава елсе блок . Када други блок није пронађен, враћа а НУЛА вредност. Главни циљ од МиСКЛ Наредба ЦАСЕ служи за рад са више ИФ наредби у СЕЛЕЦТ клаузули.
Наредбу ЦАСЕ можемо користити на два начина, а то су:
1. Једноставна ЦАСЕ изјава:
Први метод је да узмете вредност и упарите је са датом наредбом, као што је приказано у наставку.
Пример јава мапе
Синтакса
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
Враћа резултат када је први цомпаре_валуе поређење постаје истинито. У супротном, вратиће клаузулу елсе.
Пример
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
Излаз
Након успешног извршења горње команде, видећемо следећи излаз.
2. Претражена ЦАСЕ изјава:
Други метод је разматрање а сеарцх_цондитион у КАДА клаузуле, и ако пронађе, врати резултат у одговарајућој клаузули ТХЕН. У супротном, вратиће клаузулу елсе. Ако клаузула елсе није наведена, вратиће вредност НУЛЛ.
Синтакса
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
Пример
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
Излаз
Ретурн Типе
Израз ЦАСЕ враћа резултат у зависности од контекста у којем се користи. На пример:
- Ако се користи у контексту стринга, враћа резултат стринга.
- Ако се користи у нумеричком контексту, враћа целобројну, плутајућу, децималну вредност.
Подршка за МиСКЛ верзију
Наредба ЦАСЕ може подржати следеће МиСКЛ верзије:
- МиСКЛ 8.0
- МиСКЛ 5.7
- МиСКЛ 5.6
- МиСКЛ 5.5
- МиСКЛ 5.1
- МиСКЛ 5.0
- МиСКЛ 4.1
- МиСКЛ 4.0
- МиСКЛ 3.23.3
Хајде да направимо табелу ' студенти ' и извршите наредбу ЦАСЕ на овој табели.
У горњој табели можемо видети да је разредна колона садржи кратку форму студентског одељења. Зато ћемо кратку форму одељења заменити пуним. Сада извршите следећи упит да бисте извршили ову операцију.
листноде
SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students;
Након успешног извршења горњег упита, добићемо следећи излаз. Овде можемо видети да је одељење колона садржи пуну форму уместо кратке форме.