logo

Espressione CASE di MySQL

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.

Espressione CASE di MySQL

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

Espressione CASE di MySQL

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.

Espressione CASE di MySQL

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.

Espressione CASE di MySQL