logo

MySQL CASE-uttryck

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.

MySQL CASE-uttryck

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

MySQL CASE-uttryck

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.

MySQL CASE-uttryck

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.

MySQL CASE-uttryck