logo

Expressão CASE MySQL

A expressão MySQL CASE é uma parte da função de fluxo de controle que nos permite escrever um if-else ou if-then-else lógica para uma consulta. Esta expressão pode ser usada em qualquer lugar que utilize um programa ou consulta válida, como SELECT, WHERE, cláusula ORDER BY, etc.

A expressão CASE valida diversas condições e retorna o resultado quando a primeira condição é verdadeiro . Assim que a condição for atendida, ele para de percorrer e fornece a saída. Se não encontrar nenhuma condição verdadeira, ele executa o senão bloquear . Quando o bloco else não é encontrado, ele retorna um NULO valor. O principal objetivo MySQL A instrução CASE serve para lidar com várias instruções IF na cláusula SELECT.

Podemos usar a instrução CASE de duas maneiras, que são as seguintes:

1. Instrução CASE simples:

O primeiro método é pegar um valor e combiná-lo com a instrução fornecida, conforme mostrado abaixo.

ordenar um array java

Sintaxe

 CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END 

Ele retorna o resultado quando o primeiro comparar_valor a comparação se torna verdadeira. Caso contrário, retornará a cláusula else.

Exemplo

 mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END; 

Saída

Após a execução bem-sucedida do comando acima, veremos a seguinte saída.

Expressão CASE MySQL

2. Declaração CASE pesquisada:

O segundo método consiste em considerar um condição_pesquisa no QUANDO cláusulas e, se encontrar, retornará o resultado na cláusula THEN correspondente. Caso contrário, retornará a cláusula else. Se a cláusula else não for especificada, ela retornará um valor NULL.

Sintaxe

 CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 

Exemplo

 mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END; 

Saída

Expressão CASE MySQL

Tipo de retorno

A expressão CASE retorna o resultado dependendo do contexto onde é usada. Por exemplo:

  • Se for usado no contexto de string, ele retornará o resultado da string.
  • Se for usado em um contexto numérico, ele retorna o valor inteiro, flutuante e decimal.

Suporte à versão MySQL

A instrução CASE pode suportar as seguintes versões do 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

Vamos criar uma tabela ' estudantes ' e execute a instrução CASE nesta tabela.

Expressão CASE MySQL

Na tabela acima, podemos ver que o coluna de classe contém a forma abreviada do departamento do aluno. É por isso que vamos trocar o formato abreviado do departamento pelo formulário completo. Agora, execute a seguinte consulta para fazer esta operação.

 SELECT studentid, firstname, CASE class WHEN 'CS' THEN 'Computer Science' WHEN 'EC' THEN 'Electronics and Communication' ELSE 'Electrical Engineering' END AS department from students; 

Após a execução bem-sucedida da consulta acima, obteremos a seguinte saída. Aqui, podemos ver que o departamento coluna contém o formulário completo em vez de um formulário curto.

Expressão CASE MySQL

mb x gb