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:
Siga o procedimento em Como: Executar uma consulta que retorna resultados PrimitiveType.
Passe a seguinte consulta como um argumento para o
ExecutePrimitiveTypeQuery
método:
CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END