А? Нет, нет ничего плохого в математике в предложении where. Предложение where может содержать любое выражение, которое использует имена столбцов, функции или константы, если выражение является допустимым предикатом.
ck приводит следующие два примера:
выберите дату из таблицы, где date> dateadd (d, -7, getdate ())
выберите дату из таблицы, где dateadd (d, 7, date)> getdate ()
и объясняет, что первое, вероятно, быстрее, потому что оно может использовать индекс.
ck правильно, но следует также отметить, что первое может быть быстрее, потому что dateadd(d, -7, getdate())
является константным выражением (его нужно вычислять только один раз, независимо от количества строк), тогда как для dateadd(d, 7, date)
во втором необходимо оценивается для каждой строки.
Но оба примеров ck являются примерами "математики" (выражений), используемой в предложении where, о котором спрашивает OP.