CASE (simple)
A expressão CASE simples retorna um resultado com base no valor de uma única expressão de entrada ou um resultado padrão se nenhum dos valores de comparação corresponder.
Consulte também: IF.
Exemplo de uso
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_expressionainput_expressione retorna verdadeiro se os dois forem iguais, ou falso se não forem.]{#when-conditions} result: qualquer campo ou expressão válida. Cada cláusulaWHENprecisa ter uma cláusulaTHENcorrespondente, que especifica os resultados a serem retornados se essa condição for verdadeira. Se houver várias cláusulasWHEN, a instruçãoCASEretornará o resultado da primeira cláusula verdadeira.else_result(opcional): qualquer campo ou expressão válida. A cláusulaELSEelse_result especifica um resultado padrão para a instruçãoCASE. Essa cláusula será retornada se nenhuma das cláusulasWHENfor verdadeira. Se uma instruçãoCASEnão tiver uma cláusulaELSEe nenhuma das cláusulasWHENfor verdadeira, a instruçãoCASEvai retornarNULL.
Como a expressão CASE simples funciona
Uma instrução CASE simples consiste nos seguintes elementos:
- A palavra-chave
CASE, seguida de uma expressão de entrada. WHEN: o valor que será usado para comparar oinput_expression. Se o valor for igual aoinput_expression, essa cláusula será verdadeira. É possível ter várias cláusulasWHENem uma única instruçãoCASE.THEN: o resultado que será retornado se a condição da cláusulaWHENfor verdadeira. É preciso ter uma cláusulaTHENpara cada cláusulaWHENna instruçãoCASE.ELSE: opcional. Se nenhuma das condições da cláusulaWHENfor verdadeira,CASEretornará o valor na cláusulaELSEouNULLse nenhuma cláusulaELSEfor especificada.- A palavra-chave
END.
CASE avalia cada cláusula WHEN sucessiva e retorna o primeiro resultado quando 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, CASE vai retornar o resultado ELSE. Caso não haja uma cláusula ELSE, NULL será retornado.
Exemplo
Forneça links personalizados para 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