Export (0) Print
Expand All

CASE

Evaluates a set of Boolean expressions to determine the result.


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

n
Is a placeholder that indicates that multiple WHEN Boolean_expression THEN result_expression clauses can be used.

THEN result_expression
Is the expression returned when Boolean_expression evaluates to true. result expression is any valid expression.

ELSE else_result_expression
Is the expression returned if no comparison operation evaluates to true. If this argument is omitted and no comparison operation evaluates to true, CASE returns null. else_result_expression is any valid expression. The data types of else_result_expression and any result_expression must be the same or must be an implicit conversion.

WHEN Boolean_expression
Is the Boolean expression evaluated when the searched CASE format is used. Boolean_expression is any valid Boolean expression.

Returns the highest precedence type from the set of types in the result_expression and the optional else_result_expression.

The Entity SQL case expression resembles the Transact-SQL case expression. You use the case expression to make a series of conditional tests to determine which expression will yield the appropriate result. This form of the case expression applies to a series of one or more Boolean expressions to determine the correct resulting expression.

The CASE function evaluates Boolean_expression for each WHEN clause in the order specified, and returns result_expression of the first Boolean_expression that evaluates to true. The remaining expressions are not evaluated. If no Boolean_expression evaluates to true, the Database Engine returns the else_result_expression if an ELSE clause is specified, or a null value if no ELSE clause is specified.

A CASE statement cannot return a multiset.

The following Entity SQL query uses the CASE expression to evaluate a set of Boolean expressions in order to determine the result. The query is based on the AdventureWorks Sales Model. To compile and run this query, follow these steps:

  1. Follow the procedure in How to: Execute a Query that Returns PrimitiveType Results.

  2. Pass the following query as an argument to the ExecutePrimitiveTypeQuery method:


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

Reference

THEN
SELECT

Concepts

Entity SQL Reference

Other Resources

ELSE (Entity SQL)




Build Date:

2012-10-01
Show:
© 2014 Microsoft