L'espressione MySQL CASE è una parte della funzione del flusso di controllo che ci consente di scrivere un file if-else o if-then-else logica a una query. Questa espressione può essere utilizzata ovunque che utilizzi un programma o una query valida, come la clausola SELECT, WHERE, ORDER BY, ecc.
L'espressione CASE convalida varie condizioni e restituisce il risultato quando la prima condizione è VERO . Una volta soddisfatta la condizione, interrompe l'attraversamento e fornisce l'output. Se non trova alcuna condizione vera, esegue il file altrimenti blocca . Quando il blocco else non viene trovato, restituisce a NULLO valore. L'obiettivo principale di MySQL L'istruzione CASE deve gestire più istruzioni IF nella clausola SELECT.
Possiamo utilizzare l'istruzione CASE in due modi, che sono i seguenti:
1. Semplice istruzione CASE:
Il primo metodo consiste nel prendere un valore e abbinarlo all'istruzione data, come mostrato di seguito.
esempio di mappa Java
Sintassi
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
Restituisce il risultato al primo confronta_valore il confronto diventa vero. Altrimenti, restituirà la clausola else.
Esempio
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;
Produzione
Dopo aver eseguito con successo il comando precedente, vedremo il seguente output.
2. Dichiarazione CASE cercata:
Il secondo metodo è considerare a condizione_ricerca nel QUANDO clausole e, se trova, restituisce il risultato nella clausola THEN corrispondente. Altrimenti, restituirà la clausola else. Se la clausola else non è specificata, restituirà un valore NULL.
Sintassi
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
Esempio
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
Produzione
Tipo di reso
L'espressione CASE restituisce il risultato a seconda del contesto in cui viene utilizzata. Per esempio:
- Se viene utilizzato nel contesto della stringa, restituisce il risultato della stringa.
- Se viene utilizzato in un contesto numerico, restituisce il valore intero, float, decimale.
Supporto della versione MySQL
L'istruzione CASE può supportare le seguenti versioni di MySQL:
- 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
Creiamo una tabella ' studenti ' ed esegui l'istruzione CASE su questa tabella.
stringa di formato java
Nella tabella sopra, possiamo vedere che il colonna di classe contiene la forma breve del dipartimento dello studente. Ecco perché cambieremo la forma abbreviata del dipartimento con la forma completa. Ora, esegui la seguente query per eseguire questa operazione.
SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students;
Dopo aver eseguito con successo la query di cui sopra, otterremo il seguente output. Qui possiamo vedere che il Dipartimento la colonna contiene il modulo completo anziché il formato breve.