Partilhar via


CASE (Entidade 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 como true, CASE retornará null. else_result_expression é qualquer expressão válida. Os tipos de dados de else_result_expression e qualquer 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 .

Devolver Valor

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

Observações

A expressão de caso Entity SQL é semelhante à expressão de caso Transact-SQL. Você usa a expressão de caso para fazer uma série de testes condicionais para determinar qual expressão produzirá o resultado apropriado. Esta forma da expressão de caso aplica-se a uma série de uma ou mais Boolean expressões para determinar a expressão resultante correta.

A função CASE avalia Boolean_expression para cada cláusula WHEN na ordem especificada e retorna result_expression a primeira Boolean_expression que avalia como true. As restantes expressões não são avaliadas. Se no Boolean_expression for avaliado como true, o Mecanismo de Banco de Dados retornará o else_result_expression valor se 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 Entity SQL 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 esta consulta, siga estes passos:

  1. Siga o procedimento em Como: Executar uma consulta que retorna resultados PrimitiveType.

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

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

Consulte também