CASE (Entity SQL)

Evalúa un conjunto de expresiones Boolean para determinar el resultado.

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

Argumentos

  • n
    Es un marcador de posición que indica que se pueden utilizar varias cláusulas WHEN when_expression THEN result_expression o varias cláusulas WHEN Boolean_expression THEN result_expression.
  • THEN result_expression
    Es la expresión devuelta cuando Boolean_expression se evalúa como true. result expression es cualquier expresión válida.
  • ELSE else_result_expression
    Expresión que se devuelve si ninguna operación de comparación se evalúa como true. Si se omite este argumento y ninguna comparación se evalúa como true, CASE devuelve NULL. else_result_expression es cualquier expresión válida. Los tipos de datos de else_result_expression y cualquier result_expression deben ser iguales o deben ser una conversión implícita.
  • WHEN Boolean_expression
    Es la expresión Boolean que se evalúa cuando se usa el formato CASE buscado. Boolean_expression es cualquier expresión Boolean válida.

Valor devuelto

Devuelve el tipo de prioridad más alto del conjunto de tipos de result_expression y de la expresión else_result_expression opcional.

Notas

La expresión case de Entity SQL se parece a la de Transact-SQL . Puede usar la expresión case para efectuar una serie de pruebas condicionales que permitan determinar qué expresión dará el resultado apropiado. Este formato de expresión case se aplica a una serie de una o varias expresiones Boolean para determinar la que produce el resultado correcto.

La función CASE evalúa la Boolean_expression de cada cláusula WHEN en el orden especificado, y devuelve la result_expression de la primera Boolean_expression que se evalúa como true. Si ninguna Boolean_expression se evalúa como true, el motor de base de datos devuelve la else_result_expression si se especifica una cláusula ELSE, o un valor Null en otro caso.

Una instrucción CASE no puede devolver un conjunto múltiple.

Ejemplo

La siguiente consulta de Entity SQL usa la expresión CASE para evaluar un conjunto de expresiones Boolean en orden con el fin de determinar el resultado. La consulta se basa en el modelo AdventureWorks Sales. Para compilar y ejecutar esta consulta, siga estos pasos:

  1. Siga el procedimiento de Cómo: Ejecutar una consulta que devuelve resultados PrimitiveType (EntityClient).

  2. Pase la consulta siguiente como argumento al método ExecutePrimitiveTypeQuery:

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

Vea también

Referencia

ELSE (Entity SQL)
WHEN (Entity SQL)
THEN (Entity SQL)
SELECT (Entity SQL)

Conceptos

Referencia de Entity SQL