Compartilhar 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 retorna o resultado da primeira opção igual ao valor dessa expressão. Caso contrário, ela retorna o resultado padrão opcional, se um resultado padrão for especificado como o último argumento da função chamada não precedida por uma opção. O valor retornado pode ser um valor de qualquer um dos tipos de dados com suporte.

Sintaxe

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

Argumentos

expression: Tipo de dados primitivo (booliano, numérico ou texto)

Uma expressão válida que retorna um valor do tipo de dados primitivo.

option 1: Tipo de dados primitivo (booliano, numérico ou texto)

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

result 1: Qualquer um dos tipos de dados com suporte

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

option N: Tipo de dados primitivo (booliano, numérico ou texto)

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

result N: Qualquer um dos tipos de dados com suporte

O resultado retornado que corresponde à opção anterior. Esse argumento é opcional.

default result: Qualquer um dos tipos de dados com suporte

O resultado que deve ser retornado se não houver correspondência. Esse argumento é opcional.

Valores de retorno

Qualquer um dos tipos de dados com suporte

O valor resultante de qualquer um dos tipos de dados com suporte.

Notas de uso

Uma exceção é gerada no tempo de execução se não houver correspondência e um resultado padrão opcional não estiver definido.

Todos os resultados devem ser especificados usando o mesmo tipo de dados. Uma exceção é gerada no momento do design se os tipos de dados dos resultados configurados não forem correspondentes.

Se o primeiro valor de resultado e o Nº valor de resultado forem valores do tipo de dados Contêiner (registro) ou Lista de registros, o resultado terá somente os campos existentes nos dois valores.

Exemplo

CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "") retorna a cadeia de caracteres "WINTER" se a data atual da sessão do aplicativo estiver entre outubro e dezembro. Caso contrário, retorna uma cadeia de caracteres em branco.

Recursos adicionais

Funções lógicas