oracle sql date не позднее сегодняшнего дня

Мне нужно отобразить некоторые данные, если это - новые данные - обновленные данные позволяют сказать, что я буду основывать эти данные в столбце publishdate и обновленном столбце, где publishdate и updatedate являются временными метками? , поэтому как вычислить дату, если она новая?

Ответ 1

За последние 24 часа:

Where publish_date >= sysdate -1

или в любое время сегодня (в полночь вперед)

where publish_date >= trunc(sysdate)

Если это большая таблица, я предполагаю, что у вас есть указатель на publish_date. Если вы используете trunc (publish_date), возможно, он не сможет использовать индекс (непроверенный, но запустите план объяснения, чтобы убедиться).

Ответ 2

Попробуй это

Where TRUNC(sysdate) = TRUNC(publish_date)

sysdate возвращает сегодня дату со временем. TRUNC удаляет временную часть