У меня есть этот запрос Oracle:
select sm.*
from MESSAGES sm
where sm.delivery_finished = 0
and (sm.last_sent_date is null or (SYSDATE - sm.last_sent_date) * 24 * 60 * 60 > sm.delay)
and sm.status = 'REQUEST_READY'
order by nvl(sm.last_sent_date, to_date('2000.01.01', 'yyyy-MM-dd'))
Как мне переписать этот запрос для PostgreSQL?
Я пробовал это:
select sm.*
from MESSAGES sm
where sm.delivery_finished = 0
and (sm.last_sent_date is null or (now() - sm.last_sent_date) * 24 * 60 * 60 > sm.delay)
AND sm.status = 'REQUEST_READY'
order by COALESCE(sm.last_sent_date, to_date('2000.01.01', 'yyyy-MM-dd'))
Но на этой строке:
now() - sm.last_sent_date) * 24 * 60 * 60 > sm.delay
Я получаю сообщение об ошибке:
[42883] ОШИБКА: оператор не существует: интервал> целое число
Подсказка: оператор с указанным именем и типамиаргументов не найдено.Возможно, вам следует добавить явные преобразования типов.Положение: 148