CASE (Entity SQL)
Oblicza zestaw Boolean
wyrażeń w celu określenia wyniku.
Składnia
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
Argumenty
n
Jest symbolem zastępczym wskazującym, że można użyć wielu klauzul WHEN Boolean_expression
THEN result_expression
.
NASTĘPNIE result_expression
czy wyrażenie jest zwracane podczas Boolean_expression
oceniania wartości .true
result expression
jest dowolnym prawidłowym wyrażeniem.
ELSE else_result_expression
— wyrażenie jest zwracane, jeśli żadna operacja porównania nie daje wartości .true
Jeśli ten argument zostanie pominięty, a żadna operacja porównania nie zwróci true
wartości null, funkcja CASE zwróci wartość null. else_result_expression
jest dowolnym prawidłowym wyrażeniem. Typy else_result_expression
danych i wszystkie result_expression
muszą być takie same lub muszą być niejawną konwersją.
WHEN Boolean_expression
To wyrażenie jest obliczane Boolean
, gdy jest używany wyszukiwany format CASE. Boolean_expression
jest dowolnym prawidłowym Boolean
wyrażeniem.
Wartość zwracana
Zwraca najwyższy typ pierwszeństwa z zestawu typów w elemencie result_expression
i opcjonalnym else_result_expression
.
Uwagi
Wyrażenie przypadku Entity SQL przypomina wyrażenie przypadku języka Transact-SQL. Wyrażenie przypadku służy do tworzenia serii testów warunkowych w celu określenia, które wyrażenie zwróci odpowiedni wynik. Ta forma wyrażenia przypadku ma zastosowanie do serii co najmniej jednego Boolean
wyrażenia w celu określenia poprawnego wyrażenia wynikowego.
Funkcja CASE oblicza Boolean_expression
dla każdej klauzuli WHEN w określonej kolejności i zwraca result_expression
pierwszy Boolean_expression
element, który daje wartość .true
Pozostałe wyrażenia nie są obliczane. Jeśli wartość nie Boolean_expression
ma wartości true
, aparat bazy danych zwraca else_result_expression
wartość , jeśli określono klauzulę ELSE lub wartość null, jeśli nie określono klauzuli ELSE.
Instrukcja CASE nie może zwrócić wielozestawu.
Przykład
Następujące zapytanie Entity SQL używa wyrażenia CASE do oceny zestawu Boolean
wyrażeń w celu określenia wyniku. Zapytanie jest oparte na modelu AdventureWorks Sales. Aby skompilować i uruchomić to zapytanie, wykonaj następujące kroki:
Postępuj zgodnie z procedurą w temacie Instrukcje: Wykonywanie zapytania zwracającego wyniki Typ pierwotny.
Przekaż następujące zapytanie jako argument do
ExecutePrimitiveTypeQuery
metody :
CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END