Megosztás:


CASE (Entity SQL)

Kiértékel egy kifejezéskészletet Boolean az eredmény meghatározásához.

Szemantika

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

Érvek

n Egy helyőrző, amely azt jelzi, hogy több WHEN Boolean_expression THEN result_expression záradék is használható.

EZUTÁN result_expression a kifejezés lesz visszaadva, amikor Boolean_expression kiértékeli a következőt true: . result expression bármely érvényes kifejezés.

ELSE else_result_expression A visszaadott kifejezés, ha nincs összehasonlító művelet kiértékelve true. Ha ez az argumentum nincs megadva, és nincs összehasonlító művelet kiértékelve, akkor truea CASE null értéket ad vissza. else_result_expression bármely érvényes kifejezés. Az adattípusoknak és bármelyiknek else_result_expressionresult_expression azonosnak kell lenniük, vagy implicit konverziónak kell lenniük.

MIKOR Boolean_expression van kiértékelve a Boolean kifejezés, amikor a keresett CASE formátumot használja. Boolean_expression bármely érvényes Boolean kifejezés.

Visszaadott érték

A legmagasabb prioritási típust adja vissza a választható és else_result_expressiona típusok result_expression közül.

Megjegyzések

Az Entity SQL-esetkifejezés hasonlít a Transact-SQL kis- és nagybetűk kifejezésére. Az esetkifejezéssel feltételes tesztsorozatot készíthet annak meghatározására, hogy melyik kifejezés adja meg a megfelelő eredményt. Az esetkifejezés ezen formája egy vagy több Boolean kifejezés sorozatára vonatkozik a helyes eredményként kapott kifejezés meghatározásához.

A CASE függvény a megadott sorrendben kiértékeli Boolean_expression az egyes WHEN záradékokat result_expression , és az elsőnek az értékét Boolean_expression adja truevissza. A többi kifejezés kiértékelése nem történik meg. Ha a kiértékelés truenem Boolean_expression történik meg, az adatbázismotor az else_result_expression ELSE záradékot adja vissza, vagy null értéket, ha nincs megadva else záradék.

A CASE utasítás nem tud többhalmazt visszaadni.

példa

Az alábbi Entity SQL-lekérdezés a CASE kifejezéssel kiértékel egy kifejezéskészletet Boolean az eredmény meghatározásához. A lekérdezés az AdventureWorks értékesítési modellen alapul. A lekérdezés fordításához és futtatásához kövesse az alábbi lépéseket:

  1. Kövesse a How to: Execute a Query that Returns PrimitiveType Results (Primitívtípus-eredményeket visszaadó lekérdezés végrehajtása) című témakör lépéseit.

  2. Adja át a következő lekérdezést argumentumként a ExecutePrimitiveTypeQuery metódusnak:

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

Lásd még