logo

MySQL CASE izraz

MySQL CASE izraz je dio funkcije kontrolnog tijeka koji nam omogućuje pisanje if-else ili if-then-else logika upita. Ovaj izraz se može koristiti svugdje gdje se koristi važeći program ili upit, kao što je klauzula SELECT, WHERE, ORDER BY itd.

Izraz CASE potvrđuje različite uvjete i vraća rezultat kada je prvi uvjet ispunjen pravi . Nakon što je uvjet zadovoljen, prestaje obilaziti i daje izlaz. Ako ne pronađe nijedan uvjet istinit, izvršava inače blok . Kada blok else nije pronađen, vraća a NULL vrijednost. Glavni cilj od MySQL Izjava CASE služi za rad s više naredbi IF u klauzuli SELECT.

Naredbu CASE možemo koristiti na dva načina, a to su:

1. Jednostavna CASE izjava:

Prva metoda je uzeti vrijednost i uskladiti je s danom izjavom, kao što je prikazano u nastavku.

c++ funkcija prototipa

Sintaksa

 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END 

Vraća rezultat kada prvi usporediti_vrijednost usporedba postaje istinita. U suprotnom će vratiti klauzulu else.

Primjer

 mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END; 

Izlaz

Nakon uspješnog izvođenja gornje naredbe, vidjet ćemo sljedeći izlaz.

MySQL CASE izraz

2. Pretraženi CASE izraz:

Druga metoda je razmatranje a uvjet_pretrage u KADA klauzule, a ako pronađe, vraća rezultat u odgovarajuću klauzulu THEN. U suprotnom će vratiti klauzulu else. Ako klauzula else nije navedena, vratit će vrijednost NULL.

Sintaksa

 CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 

Primjer

 mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END; 

Izlaz

do while petlja u Javi

MySQL CASE izraz

Vrsta povrata

Izraz CASE vraća rezultat ovisno o kontekstu u kojem se koristi. Na primjer:

  • Ako se koristi u kontekstu niza, vraća rezultat niza.
  • Ako se koristi u numeričkom kontekstu, vraća cijeli broj, float, decimalnu vrijednost.

Podrška za MySQL verziju

Izjava CASE može podržati sljedeće MySQL verzije:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0
  • MySQL 3.23.3

Napravimo tablicu ' učenicima ' i izvršite naredbu CASE na ovoj tablici.

MySQL CASE izraz

U gornjoj tablici možemo vidjeti da je razredna kolona sadrži skraćeni oblik studentskog odjela. Zato ćemo skraćeni oblik odjela zamijeniti punim oblikom. Sada izvršite sljedeći upit da izvršite ovu operaciju.

 SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students; 

Nakon uspješnog izvršenja gornjeg upita, dobit ćemo sljedeći izlaz. Ovdje možemo vidjeti da je odjelu stupac sadrži puni oblik umjesto kratkog oblika.

MySQL CASE izraz