Resumo: neste tutorial, você aprenderá sobre o SQLite
CASE expressão para adicionar a lógica condicional a uma consulta. O SQLite
CASE expressão avalia uma lista de condições e retorna uma expressão com base no resultado da avaliação. O
CASE expressão é semelhante ao IF-THEN-ELSE declaração em outras linguagens de programação. Você pode usar o
CASE expressão em qualquer cláusula ou instrução que aceite uma expressão válida. Por exemplo, você pode usar o CASE expressão em cláusulas como WHERE , ORDER BY , HAVING , SELECT e declarações como SELECT , UPDATE e DELETE . SQLite fornece duas formas de
CASE expressão:simples CASE e pesquisou CASE . SQLite simples CASE expressão
O simples
CASE expression compara uma expressão a uma lista de expressões para retornar o resultado. O seguinte ilustra a sintaxe do simples CASE expressão. CASE case_expression
WHEN when_expression_1 THEN result_1
WHEN when_expression_2 THEN result_2
...
[ ELSE result_else ]
ENDCode language: SQL (Structured Query Language) (sql) O simples
CASE expressão compara a case_expression para a expressão aparece no primeiro WHEN cláusula, when_expression_1 , por igualdade. Se a
case_expression é igual a when_expression_1 , o simples CASE retorna a expressão no THEN correspondente cláusula, que é o result_1 . Caso contrário, o simples
CASE expressão compara a case_expression com a expressão no próximo WHEN cláusula. Caso não haja
case_expression corresponde à when_expression , o CASE expressão retorna o result_else no ELSE cláusula. Se você omitir o ELSE cláusula, o CASE expressão retorna NULL. O simples
CASE expressão usa avaliação de curto-circuito. Em outras palavras, ele retorna o resultado e para de avaliar outras condições assim que encontra uma correspondência. Simples CASE exemplo
Vamos dar uma olhada nos
customers tabela no banco de dados de exemplo.
Suponha que você tenha que fazer um relatório dos grupos de clientes com a lógica de que se um cliente se localiza nos EUA, esse cliente pertence ao grupo doméstico, caso contrário o cliente pertence ao grupo estrangeiro.
Para fazer este relatório, você usa o simples
CASE expressão no SELECT declaração da seguinte forma:SELECT customerid,
firstname,
lastname,
CASE country
WHEN 'USA'
THEN 'Domestic'
ELSE 'Foreign'
END CustomerGroup
FROM
customers
ORDER BY
LastName,
FirstName;Code language: SQL (Structured Query Language) (sql) Tente
SQLite pesquisou CASE expressão
O
CASE pesquisado expressão avalia uma lista de expressões para decidir o resultado. Observe que o simples CASE expressão apenas compara por igualdade, enquanto o CASE pesquisado expressão pode usar qualquer forma de comparação. O seguinte ilustra a sintaxe do
CASE pesquisado expressão. CASE
WHEN bool_expression_1 THEN result_1
WHEN bool_expression_2 THEN result_2
[ ELSE result_else ]
ENDCode language: SQL (Structured Query Language) (sql) O
CASE pesquisado expression avalia as expressões booleanas na sequência especificada e retorna o resultado correspondente se a expressão for avaliada como verdadeira. Caso nenhuma expressão seja avaliada como verdadeira, o
CASE pesquisado expressão retorna a expressão no ELSE cláusula se especificado. Se você omitir o ELSE cláusula, o CASE pesquisado expressão retorna NULL . Semelhante ao simples
CASE expressão, o CASE pesquisado expressão interrompe a avaliação quando uma condição é atendida. Pesquisou CASE exemplo
Usaremos as
tracks mesa para demonstração.
Suponha que você queira classificar as faixas com base em sua duração, como menos um minuto, a faixa é curta; entre 1 e 5 minutos, a faixa é média; superior a 5 minutos, a faixa é longa.
Para conseguir isso, você usa o
CASE pesquisado expressão da seguinte forma:SELECT
trackid,
name,
CASE
WHEN milliseconds < 60000 THEN
'short'
WHEN milliseconds > 60000 AND milliseconds < 300000 THEN 'medium'
ELSE
'long'
END category
FROM
tracks;Code language: SQL (Structured Query Language) (sql) Tente
Neste tutorial, você aprendeu sobre SQLite
CASE expressão para formar lógica condicional dentro de uma consulta SQL.