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.
Veja também: SE.
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álida.- [
expression_to_match- Qualquer campo ou expressão válida. A cláusulaWHENcomparainput_expressioncominput_expressione devolve verdadeiro se os dois forem iguais ou falso se não forem.]{#when-conditions} result– Qualquer campo ou expressão válida. 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 declaraçãoCASEdevolve o resultado da primeira cláusula verdadeira.else_result(opcional) – Qualquer campo ou expressão válida. A cláusulaELSEelse_result especifica um resultado predefinido para a declaraçãoCASE. Esta cláusula é devolvida se nenhuma das cláusulasWHENfor verdadeira. Se uma declaraçãoCASEnão tiver uma cláusulaELSEe nenhuma das cláusulasWHENfor verdadeira, a declaraçãoCASEdevolveNULL.
Como funciona o CASE simples
Uma declaraçã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 oinput_expression: se o valor for igual aoinput_expression, esta cláusula é verdadeira. Pode ter várias cláusulasWHENnuma única declaraçãoCASE.THEN: o resultado a devolver se a condição da cláusulaWHENfor verdadeira. Tem de ter uma cláusulaTHENpara cada cláusulaWHENna sua declaraçãoCASE.ELSE: opcional. Se nenhuma das condições da cláusulaWHENfor verdadeira,CASEdevolve o valor na cláusulaELSEouNULLse não for especificada nenhuma cláusulaELSE.- A palavra-chave
END.
CASE avalia cada cláusula WHEN sucessiva e devolve o primeiro resultado em que a condição é verdadeira. Quaisquer cláusulas WHEN restantes e o resultado ELSE não são avaliados. Se todas as condições WHEN forem falsas ou NULL, CASE devolve o resultado ELSE ou, se não estiver presente nenhuma cláusula ELSE, devolve NULL.
Exemplo
Forneça 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