Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вычисляет набор выражений Boolean для определения результата.
Синтаксис
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END
Аргументы
n Заполнитель, указывающий, что можно использовать несколько предложений WHEN Boolean_expression THEN result_expression .
Затем result_expression выражение, возвращаемое при Boolean_expression вычислении true.
result expression является любым допустимым выражением.
ELSE else_result_expression — это выражение, возвращаемое, если операция сравнения не вычисляется true. Если этот аргумент опущен и операция сравнения не вычисляется true, CASE возвращает значение NULL.
else_result_expression является любым допустимым выражением. Типы else_result_expression данных и любые должны result_expression быть одинаковыми или должны быть неявным преобразованием.
Boolean ЕСЛИ Boolean_expression выражение вычисляется при использовании формата CASE для поиска.
Boolean_expression является любым допустимым Boolean выражением.
Возвращаемое значение
Возвращает самый высокий тип приоритета из набора типов в result_expression и необязательный else_result_expression.
Замечания
Выражение регистра Entity SQL напоминает выражение Transact-SQL регистра. Выражение регистра используется для выполнения ряда условных тестов, чтобы определить, какое выражение даст соответствующий результат. Эта форма выражения регистра применяется к ряду одного или нескольких Boolean выражений для определения правильного результирующего выражения.
Функция CASE вычисляет Boolean_expression для каждого предложения WHEN в указанном порядке и возвращает result_expression первое Boolean_expression значение, которое вычисляется true. Остальные выражения не оцениваются. Если значение не Boolean_expression вычисляется true, ядро СУБД возвращает else_result_expression значение, если указано предложение ELSE, или значение NULL, если не указано предложение ELSE.
Инструкция CASE не может возвращать многоустановку.
Пример
Следующий запрос Entity SQL использует выражение CASE для оценки набора выражений Boolean для определения результата. Запрос основан на модели продаж AdventureWorks. Чтобы скомпилировать и запустить этот запрос, выполните следующие действия.
Выполните процедуру, описанную в разделе "Практическое руководство. Выполнение запроса, возвращающего результаты PrimitiveType".
Передайте следующий запрос в качестве аргумента в
ExecutePrimitiveTypeQueryметод:
CASE WHEN AVG({@score1,@score2,@score3}) < @total THEN TRUE ELSE FALSE END