SQL Server CASE statement is equivalent to the IF-THEN statement in Excel.
a instrução de caso é usada para implementar a lógica onde você deseja definir o valor de uma coluna, dependendo dos valores em outras colunas.
a instrução de caso do servidor SQL consiste em pelo menos um par de quando e então declarações. A instrução quando especifica a condição a ser testada. A instrução então especifica a ação se a condição de quando retorna verdadeiro.,
a outra instrução é opcional e executa quando nenhuma das condições retornam verdadeiras. A instrução do caso termina com uma palavra-chave final.
neste artigo, vamos dar uma olhada em vários exemplos diferentes da declaração de caso. Mas antes de fazermos isso, vamos criar alguns dados falsos para trabalhar.,/td>
O script acima, foi criado um banco de dados fictício chamado ShowRoom com uma Tabela chamado de Carros., A tabela de carros tem sete colunas: id, Nome, empresa, potência, Cor, Modelo e condição.
agora vamos inserir alguns dados fictícios na tabela carros., Execute o seguinte script:
Vamos verificar como nosso conjunto de dados parece, execute o seguinte script:
1
|
SELECT * FROM Carros
|
A saída se parece com isso:
Você pode ver que a condição coluna contém um X em cada linha no momento., Vamos definir o valor da coluna de condição, dependendo da coluna modelo, usando a instrução de caso para que você possa ver claramente o que está acontecendo.,
The syntax of the CASE statement is pretty straight forward:
1
2
3
4
5
|
SELECT column1,
column2,
CASE WHEN CONDITION THEN ‘Value1’
ELSE ‘Value2’ END AS columnX
FROM Cars
|
The CASE statement has to be included inside the SELECT Statement., Ele começa com a palavra-chave caso seguido pela palavra-chave quando e, em seguida, a condição.
a condição pode ser qualquer expressão válida do servidor SQL que devolve um valor booleano. Por exemplo, a condição pode ser modelo > 2000, a então cláusula é usada após a condição. Se a condição retorna verdadeiro o valor que segue a cláusula então é armazenado em columnX. Caso contrário, o valor após a outra cláusula, também será armazenado em columnX. A instrução de caso do servidor SQL termina com a cláusula final.,
exemplos de instrução de caso
vamos agora ver a instrução de caso em ação.
em uma seção anterior, nós criamos uma tabela chamada carros dentro da base de dados ShowRoom.
a coluna da condição tinha o valor X para todas as linhas. Usaremos a instrução SQL Server CASE para definir o valor da coluna de condição para ” novo “se a coluna Modelo tiver um valor superior a 2000, caso contrário o valor para a coluna de condição será definido como”Velho”.,ok at the following script:
1
2
3
4
5
|
SELECT name,
model,
CASE WHEN model > 2000 THEN ‘New’
ELSE ‘Old’ END AS condition
FROM Cars
|
The above script displays the name, model and condition columns from the Cars table., A saída do script acima se parece com isso:
Você pode ver que o valor de X na coluna condição foi substituído pelo “Novo” e “Velho” dependendo do modelo do carro.
condições múltiplas no caso da declaração
pode avaliar várias condições no caso da declaração.,
let’s write a SQL Server CASE statement which sets the value of the condition column to “New” if the value in the model column is greater than 2010, to ‘Average’ if the value in the model column is greater than 2000, and to ‘Old’ if the value in the model column is greater than 1990.,
O resultado do script acima se parece com isso:
No script acima, indicamos três diferentes valores para a coluna condição, dependendo do valor no modelo de coluna.,
no entanto, no script acima, as condições são sobrepostas como. o modelo com um valor superior a 2010 também tem um valor superior a 2000 e 1990. Uma maneira melhor de implementar várias condições é usar operadores lógicos como e, ou, não, etc.,Modelo N > 2010, a ‘Nova’
O resultado do script acima se parece com isso:
podemos também avaliar várias condições de diferentes colunas usando o SQL Server instrução do CASO., No exemplo a seguir, atribuiremos o valor de “novo branco” à coluna de condição onde o modelo é maior que 2010 e a cor é branca.,GALINHA ‘Novo’
A saída se parece com isso:
Você pode ver a partir da linha 5, que desde a cor é o branco e o modelo é maior do que em 2010, o valor para a coluna condição tem sido definido como “Branco” na saída.,
usando GROUP BY com SQL Server CASE statement
the CASE statement can also be used in conjunction with the GROUP BY statement in order to apply aggregate functions.,v id=”1dd7e33b85″>
No script acima podemos usar a função agregada CONTAR com a instrução CASE.,
a instrução de caso do servidor SQL define o valor da coluna de condição como “novo”ou ” velho”. Dentro do grupo por cláusula, especificamos que a contagem correspondente para “Novo” é incrementada por 1, sempre que um valor de modelo superior a 2000 é encontrado. A outra seção significa que nós aumentamos a contagem para “Velho” em 1 Se o valor do modelo é de 2000 ou menos. A saída do script acima se parece com isso:
Desde o nosso conjunto de dados tem cinco veículos com um valor para ‘modelo’ de maior que 2000, você pode ver um 5 na coluna contagem de “Novos” veículos., Da mesma forma, tínhamos 5 veículos velhos e, portanto, podemos ver 5 para a coluna de contagem de veículos “velhos”.da mesma forma, podemos agrupar por mais de dois valores., 2000, em SEGUIDA, ‘Média’
No script acima, nós agrupamos os dados em três categorias: “Novo”, “Média” e “Velho”.,
A saída é assim:
Você pode ver a contagem para” novos”,” Média “e” antigos ” carros de condição.
Conclusion
The CASE statement comes in handy when you want to implement IF-THEN logic in SQL Server. Neste artigo, vimos Qual é a instrução do caso junto com a sua sintaxe. Nós também vimos diferentes exemplos de instrução de caso, juntamente com o seu uso com o grupo por cláusula.,
outros grandes artigos de Ben
- compreendendo a cache do plano de pesquisa do servidor SQL
- Qual é a diferença entre os índices agrupados e não agrupados no servidor SQL?
- Como usar funções de janela
- Consulta de dados usando o SQL Server instrução de CASO
- Autor
- Posts Recentes
Ver todos os posts por Ben Richardson
- fonte de Alimentação BI: Cachoeira Gráficos e Combinado Visuais – janeiro 19, 2021
- fonte de Alimentação BI: a formatação Condicional de dados e as cores em ação – 14 de janeiro de 2021
- fonte de Alimentação BI: a Importação de dados do SQL Server e MySQL – 12 de janeiro de 2021