Если вы говорите о самых популярных современных базах данных, таких как Microsoft SQL, Oracle, Postgres, MySql, Teradata, ответ однозначно NO .
Что такое запрос SARGable?
Запрос SARGable - это тот, который стремится сузить число строк, которые должна обработать база данных, чтобы получить ожидаемый результат. Что я имею в виду, например:
Рассмотрим этот запрос:
select * from table where column1 <> 'some_value';
Очевидно, что использование индекса в этом случае бесполезно, поскольку база данных наверняка должна будет просмотреть все строки в таблице, чтобы получить ожидаемые строки.
Но что, если мы сменим оператора?
select * from table where column1 = 'some_value';
В этом случае индекс может обеспечить хорошую производительность и возвращать ожидаемые строки почти мгновенно.
Операторы SARGable: =, <,>, <=,> =, LIKE (без%), МЕЖДУ
Операторы без SARGable: <>, IN, OR
Теперь вернемся к вашему делу.
Ваша проблема проста. У вас есть X, и у вас есть Y. X> Y или Y
P.S. Конечно, я признаю, что может быть базами данных с очень плохими оптимизаторами, где этот вид подделки мог бы сыграть свою роль. Но, как я уже говорил, в современных базах данных вам не стоит об этом беспокоиться.