Операция
A UNION
позволит вам пропустить оператор CASE
, объединив два набора результатов.В первом запросе вы фильтруете все строки, которые соответствуют 'foo%'
, а во втором - все строки, которые не соответствуют 'foo%'
Что-то вроде:
SELECT 1 AS [YourBoolean], 'fool' WHERE 'fool' LIKE 'foo%'
UNION
SELECT 0, 'fuel' WHERE 'fuel' NOT LIKE 'foo%'
ORDER BY 1
(Hard-закодированный пример без целевой таблицы.)