Я проверка обновлений продуктов, которые зависят от времени суток - предупреждая, если продукт не обновляется в течение последних 2-х часов, например:
Sysdate против Timestamp для сравнения
03:30 - 7:29 мы ожидаем обновления только продукта x;
7:30 - 11:29 мы ожидаем, что оба продукта х и у, чтобы быть обновляя
11:30 - 15:30 мы ожидаем, что только продукт у, чтобы обновлять
Но мы должны быть чувствительны к продуктам, не обновили вчера и до сих пор не обновили сегодня. Таким образом, мой вопрос: при выполнении нижеприведенных сопоставлений времени для продукта y, я подозреваю, что дата не учитывается, и поэтому продукт, который не обновлялся, потенциально игнорируется.
(...)
AND inv.timestamp < sysdate - (120/1440) --older than two hours
AND inv.timestamp > TRUNC(sysdate) + (690/1440) --after 11:30
AND inv.timestamp < TRUNC(sysdate) + (930/1440) --before 15:30
(...)
inv.timestamp - это столбец типа timestamp (6). Включает ли trunc (sysdate) текущую дату для сравнения или использует ли это только время?
Вы можете уточнить свой вопрос? Я прочитал его так же, как 'trunc (sysdate)' - 'sysdate', являющийся 09/03/2012, включает 09/03/2012 00:00:00, и в этом случае да. – Ben