MySQL CASE -lauseke on osa ohjausvirtausfunktiota, jonka avulla voimme kirjoittaa jos-muuten tai jos-niin-muuten logiikka kyselyyn. Tätä lauseketta voidaan käyttää missä tahansa, joka käyttää kelvollista ohjelmaa tai kyselyä, kuten SELECT, WHERE, ORDER BY -lause jne.
CASE-lauseke vahvistaa erilaisia ehtoja ja palauttaa tuloksen, kun ensimmäinen ehto on totta . Kun ehto täyttyy, se lopettaa kulkemisen ja antaa tulosteen. Jos se ei löydä yhtään ehtoa tosi, se suorittaa muu lohko . Kun else-lohkoa ei löydy, se palauttaa a TYHJÄ arvo. Päätavoitteena MySQL CASE-käsky käsittelee useita IF-lauseita SELECT-lauseessa.
Voimme käyttää CASE-lausetta kahdella tavalla, jotka ovat seuraavat:
1. Yksinkertainen CASE-lauseke:
Ensimmäinen tapa on ottaa arvo ja sovittaa se annettuun lauseeseen alla olevan kuvan mukaisesti.
yritä saada java kiinni
Syntaksi
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
Se palauttaa tuloksen, kun ensimmäinen vertaa_arvo vertailusta tulee totta. Muussa tapauksessa se palauttaa else-lausekkeen.
Esimerkki
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
Lähtö
Yllä olevan komennon onnistuneen suorittamisen jälkeen näemme seuraavan tulosteen.
2. Haettu CASE-lausunto:
Toinen tapa on harkita a search_condition in KUN lausekkeita, ja jos se löytää, palauta tulos vastaavaan THEN-lauseeseen. Muussa tapauksessa se palauttaa else-lausekkeen. Jos muuta lauseketta ei ole määritetty, se palauttaa NULL-arvon.
Syntaksi
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
Esimerkki
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
Lähtö
Palautustyyppi
CASE-lauseke palauttaa tuloksen riippuen kontekstista, jossa sitä käytetään. Esimerkiksi:
- Jos sitä käytetään merkkijonokontekstissa, se palauttaa merkkijonotuloksen.
- Jos sitä käytetään numeerisessa kontekstissa, se palauttaa kokonaisluvun, float-arvon, desimaaliarvon.
MySQL-version tuki
CASE-käsky voi tukea seuraavia MySQL-versioita:
- 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
Luodaan taulukko' opiskelijat ja suorita CASE-käsky tässä taulukossa.
Yllä olevasta taulukosta voimme nähdä, että luokan sarake sisältää opiskelijaosaston lyhyen lomakkeen. Siksi aiomme muuttaa osaston lyhyen muodon täyslomakkeella. Suorita nyt seuraava kysely suorittaaksesi tämän toiminnon.
SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students;
Yllä olevan kyselyn onnistuneen suorittamisen jälkeen saamme seuraavan tuloksen. Tässä voimme nähdä, että osasto sarake sisältää täyden lomakkeen lyhyen lomakkeen sijaan.
java-kuplalajittelu