Compartilhar via


CASO (Entity SQL)

Avalia um conjunto de expressões de Boolean 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 é avaliado como true. result expression é qualquer expressão válida.

ELSE else_result_expression é a expressão retornada se nenhuma operação de comparação é avaliada como true. Se esse argumento é omitido e nenhuma operação de comparação avalia a true, os CASOS retornam o zero. 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 expressão Boolean avaliada quando o formato CASE pesquisado é usado. Boolean_expression é qualquer expressão válida de Boolean .

Valor Retornado

Retorna o tipo mais alto de precedência de conjunto de tipos em result_expression e else_result_expressionopcional.

Comentários

A expressão de maiúsculas e minúsculas do Entity SQL se assemelha à expressão de maiúsculas e minúsculas do Transact-SQL. Você usa a expressão dos casos para fazer uma série de teste condicional para determinar qual expressão renderá o resultado apropriado. Este formulário da expressão dos casos se aplica a uma série de uma ou mais expressões de Boolean para determinar a expressão resultante correta.

A função de CASOS avaliar Boolean_expression para o QUANDO cada cláusula na ordem especificada, e retornar result_expression de primeiro Boolean_expression que avalia para true. As expressões restantes não são avaliadas. Se nenhum Boolean_expression avalia a true, o mecanismo de base de dados retorna else_result_expression se uma cláusula OUTRA for especificada, ou um valor nulo se nenhuma cláusula OUTRA é especificado.

Uma declaração de CASOS não pode retornar um multiset.

Exemplo

A seguinte consulta SQL Entity usa a expressão de CASOS para avaliar um conjunto de expressões de Boolean 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 Como executar uma consulta que retorna os resultados de PrimitiveType.

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

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

Confira também