Вы можете использовать COALESCE для преобразования значений NULL во что-то другое, например:
select *
from table
where date_add(coalesce(some_date, now()), interval some_seconds second) < now()
COALESCE возвращает свой первый ненулевой аргумент:
COALESCE(value, ...)
Возвращает первое ненулевое значение в списке или NULL, если нет ненулевых значений.
Так что вам просто нужно решить, какую дату вы хотите использовать вместо NULL some_date
.
Если ваша замена на NULL some_date
окажется достаточно далеко в прошлом, чтобы тест всегда проходил, тогда вы можете использовать:
where some_date is null
or date_add(some_date, interval some_seconds second) < now()
и если это всегда будет неудачей, то:
where some_date is not null
and date_add(some_date, interval some_seconds second) < now()