Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 .
Valor de retorno
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:
Siga o procedimento em Como: Executar uma consulta que retorna resultados PrimitiveType.
Passe a seguinte consulta como um argumento para o
ExecutePrimitiveTypeQuerymétodo:
CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END