MySQL CASE-uttryck är en del av kontrollflödesfunktionen som ger oss möjlighet att skriva en om-annat eller om-då-annat logik i en fråga. Detta uttryck kan användas var som helst som använder ett giltigt program eller en fråga, som SELECT, WHERE, ORDER BY-sats, etc.
CASE-uttrycket validerar olika villkor och returnerar resultatet när det första villkoret är Sann . När villkoret är uppfyllt, slutar den att passera och ger utsignalen. Om det inte hittar något villkor sant, kör det annat block . När det andra blocket inte hittas returnerar det a NULL värde. Huvudmålet med MySQL CASE-satsen är att hantera flera IF-satser i SELECT-satsen.
Vi kan använda CASE-satsen på två sätt, som är följande:
1. Enkelt CASE-uttalande:
Den första metoden är att ta ett värde och matcha det med det givna uttalandet, som visas nedan.
grunderna i java
Syntax
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
Det returnerar resultatet när den första jämför_värde jämförelse blir sann. Annars kommer den att returnera else-klausulen.
Exempel
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
Produktion
Efter framgångsrik exekvering av ovanstående kommando kommer vi att se följande utdata.
2. Sökt CASE-uttalande:
Den andra metoden är att överväga a sökvillkor i NÄR satser, och om den hittar, returnera resultatet i motsvarande THEN-sats. Annars kommer den att returnera else-klausulen. Om någon annan klausul inte anges kommer den att returnera ett NULL-värde.
Syntax
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
Exempel
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
Produktion
ladda ner video från youtube vlc
Returtyp
CASE-uttrycket returnerar resultatet beroende på sammanhanget där det används. Till exempel:
- Om den används i strängkontexten returnerar den strängresultatet.
- Om det används i ett numeriskt sammanhang, returnerar det heltal, float, decimalvärde.
Stöd för MySQL-version
CASE-satsen kan stödja följande MySQL-versioner:
- 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
Låt oss skapa en tabell ' studenter ' och utför CASE-satsen på denna tabell.
I tabellen ovan kan vi se att klass kolumn innehåller kortformen för studentens institution. Det är därför vi kommer att ändra kortformen på avdelningen med den fullständiga formen. Kör nu följande fråga för att utföra denna operation.
SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students;
Efter framgångsrik exekvering av ovanstående fråga kommer vi att få följande utdata. Här kan vi se att avdelning kolumnen innehåller fullständig form istället för en kort form.