Partilhar via


Função de ER CASE

A função CASE avalia o valor da expressão especificada em relação às opções alternativas especificadas e devolve o resultado da primeira opção que é igual ao valor da expressão especificada. Caso contrário, devolve o resultado predefinido opcional, se um resultado predefinido for especificado como o último argumento da função chamada que não é precedido por uma opção. O valor devolvido pode ser um valor de qualquer um dos tipos de dados suportados.

Sintaxe

CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])

Argumentos

expression: Tipo de dados primitivos (Booleano, numérico ou texto)

Uma expressão válida que devolve um valor do tipo de dados primitivos.

option 1: Tipo de dados primitivos (Booleano, numérico ou texto)

Uma expressão válida que devolve um valor do mesmo tipo de dados primitivos que o argumento expression da função chamada. Este argumento é obrigatório.

result 1: Qualquer um dos tipos de dados suportados

O resultado devolvido que corresponde à opção anterior. Este argumento é obrigatório.

option N: Tipo de dados primitivos (Booleano, numérico ou texto)

Uma expressão válida que devolve um valor do mesmo tipo de dados primitivos que o argumento expression da função chamada. Este argumento é opcional.

result N: Qualquer um dos tipos de dados suportados

O resultado devolvido que corresponde à opção anterior. Este argumento é opcional.

default result: Qualquer um dos tipos de dados suportados

O resultado que deve ser devolvido se não existir nenhuma correspondência. Este argumento é opcional.

Valores de retorno

Qualquer um dos tipos de dados suportados

O valor resultante de qualquer um dos tipos de dados suportados.

Notas de utilização

Uma exceção é iniciada durante a execução se não existir nenhuma correspondência e um resultado predefinido opcional não for definido.

Todos os resultados têm de ser especificados utilizando o mesmo tipo de dados. Uma exceção é iniciada durante a estruturação se os tipos de dados dos resultados configurados não corresponderem.

Se o primeiro valor de resultado e o valor de resultado Enésimo forem valores do tipo de dados Contentor (registo) ou Lista de registos, o resultado tem apenas os campos que existem em ambos os valores.

Exemplo

CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "") devolve a cadeia "INVERNO" se a data da sessão da aplicação atual for entre outubro e dezembro. Caso contrário, devolve uma cadeia em branco.

Recursos adicionais

Funções de lógica