Разница между сопоставляемым и поисковым CASE в Oracle SQL заключается в том, что в сопоставляемом CASE используются конкретные значения, а в поисковом — более комплексные логические условия. 1
Сопоставляемое выражение CASE выбирает для вычисления одно из нескольких выражений на основании заданного скалярного значения. 3 Для проверяемого значения производятся сравнения со значениями в блоках WHEN. 2 При первом же совпадении функция завершает работу и возвращает соответствующий результат. 2 Если ни одного совпадения не было найдено, возвращается значение, указанное в блоке ELSE. 2
Поисковое выражение CASE последовательно вычисляет выражения из списка, пока одно из них не окажется равным TRUE, а затем возвращает результат связанного с ним выражения. 3 В блоках WHEN указываются условия, а не просто значения для сравнения. 2