Compartilhar via


CASE (Entity SQL)

Avalia um conjunto de Boolean expressões para determinar o resultado.

Sintaxe

CASE
     WHEN Boolean_expression THEN result_expression
    [ ...n ]
     [
    ELSE else_result_expression
     ]
END

Argumentos

n É um espaço reservado que indica que várias cláusulas WHEN Boolean_expression THEN result_expression podem ser usadas.

THEN result_expression É a expressão retornada quando Boolean_expression avaliada como true. result expression é qualquer expressão válida.

ELSE else_result_expression É a expressão retornada se nenhuma operação de comparação for avaliada como true. Se esse argumento for omitido e nenhuma operação de comparação for avaliada true, CASE retornará nulo. else_result_expression é qualquer expressão válida. Os tipos de dados de else_result_expression e qualquer um result_expression devem ser os mesmos ou devem ser uma conversão implícita.

WHEN Boolean_expression É a Boolean expressão avaliada quando o formato CASE pesquisado é usado. Boolean_expression é qualquer expressão válida Boolean .

Valor de retorno

Retorna o tipo de precedência mais alto do conjunto de tipos no result_expression e no opcional else_result_expression.

Observações

A expressão de maiúsculas e minúsculas Entity SQL se assemelha à expressão de maiúsculas de Transact-SQL maiúsculas e minúsculas. Use a expressão de maiúsculas e minúsculas para fazer uma série de testes condicionais para determinar qual expressão produzirá o resultado apropriado. Essa forma da expressão de maiúsculas e minúsculas se aplica a uma série de uma ou mais Boolean expressões para determinar a expressão resultante correta.

A função CASE é avaliada Boolean_expression para cada cláusula WHEN na ordem especificada e retorna result_expression a primeira Boolean_expression que é trueavaliada como . As expressões restantes não são avaliadas. Se nenhuma Boolean_expression avaliação for trueavaliada, o Mecanismo de Banco de Dados retornará se else_result_expression uma cláusula ELSE for especificada ou um valor nulo se nenhuma cláusula ELSE for especificada.

Uma instrução CASE não pode retornar um multiset.

Exemplo

A consulta SQL da entidade a seguir usa a expressão CASE para avaliar um conjunto de Boolean expressões para determinar o resultado. A consulta é baseada no Modelo de Vendas adventureworks. Para compilar e executar essa consulta, siga estas etapas:

  1. Siga o procedimento em How to: Execute a Query that Returns PrimitiveType Results.

  2. Passe a consulta a seguir como um argumento para o ExecutePrimitiveTypeQuery método:

CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END

Consulte também