CASE (simple)
A função CASE simples devolve um resultado com base no valor de uma única expressão de entrada ou um resultado predefinido se nenhum dos valores de comparação corresponder.
Consulte também: IF.
Exemplos de utilização
Substitua os códigos de pagamento por nomes intuitivos:
CASE Payment Type
WHEN "CC" THEN "Credit Card"
WHEN "DC" THEN "Debit Card"
WHEN "GC" THEN "Gift Card"
WHEN "CA" THEN "Cash"
ELSE "Other"
END
Sintaxe
CASE input_expression
WHEN expression_to_match THEN result
[WHEN expression_to_match THEN result]
[...]
[ELSE else_result]
END
Parâmetros
input_expression– qualquer campo ou expressão válido.- [
expression_to_match– qualquer campo ou expressão válido. A cláusulaWHENcomparainput_expressioncom `expression_to_match` e devolve verdadeiro se os dois forem iguais ou falso se não forem.]{#when-conditions}input_expression result– qualquer campo ou expressão válido. Cada cláusulaWHENtem de ter uma cláusulaTHENcorrespondente, que especifica os resultados a devolver se essa condição for verdadeira. Se existirem várias cláusulasWHEN, a instruçãoCASEdevolve o resultado da primeira cláusula verdadeira.else_result(opcional) – qualquer campo ou expressão válido. A cláusulaELSEelse_result especifica um resultado predefinido para a instruçãoCASE. Esta cláusula é devolvida se nenhuma das cláusulasWHENfor verdadeira. Se uma instruçãoCASEnão tiver uma cláusulaELSEe nenhuma das cláusulasWHENfor verdadeira, a instruçãoCASEdevolveNULL.
Como funciona a função CASE simples
Uma instrução CASE simples é composta pelos seguintes elementos:
- A palavra-chave
CASE, seguida de uma expressão de entrada. WHEN: o valor com o qual comparar ainput_expression: se o valor for igual àinput_expression, esta cláusula é verdadeira. Pode ter várias cláusulasWHENnuma única instruçãoCASE.THEN: o resultado a devolver se a condição da cláusulaWHENfor verdadeira. Tem de ter uma cláusulaTHENpara cada cláusulaWHENna instruçãoCASE.ELSE: opcional. Se nenhuma das condições da cláusulaWHENfor verdadeira, a funçãoCASEdevolve o valor na cláusulaELSEouNULLse não for especificada nenhuma cláusulaELSE.- A palavra-chave
END.
A função CASE avalia cada cláusula WHEN sucessiva e devolve o primeiro resultado em que a condição é verdadeira. As cláusulas WHEN restantes e o resultado ELSE não são avaliados. Se todas as condições WHEN forem falsas ou NULL, a função CASE devolve o resultado ELSE ou, se não existir nenhuma cláusula ELSE, devolve NULL.
Exemplo
Disponibilize links personalizados para os seus clientes premium:
CASE Premium Status
WHEN "Platinum" THEN CONCAT(Site URL, "platinum_welcome.html")
WHEN "Gold" THEN CONCAT(Site URL, "gold_welcome.html")
WHEN "Silver" THEN CONCAT(Site URL, "silver_welcome.html")
ELSE CONCAT(Site URL, "welcome.html")
END