【发布时间】:2012-08-20 23:05:53
【问题描述】:
我需要显示一些数据,如果它是 - 新数据 - 更新数据 比方说,我将基于发布日期列和更新列中的这些数据,其中发布日期和更新日期都是时间戳? .那么如果是新日期,如何计算日期呢?
【问题讨论】:
-
不清楚你想要什么。你能描述得更好吗?
-
我有一个发布日期列,我想显示当天发布的数据,而不是昨天或更早发布的数据
我需要显示一些数据,如果它是 - 新数据 - 更新数据 比方说,我将基于发布日期列和更新列中的这些数据,其中发布日期和更新日期都是时间戳? .那么如果是新日期,如何计算日期呢?
【问题讨论】:
过去 24 小时:
Where publish_date >= sysdate -1
或今天任何时候(午夜前)
where publish_date >= trunc(sysdate)
如果这是一张大表,我假设您在 publish_date 上有一个索引。如果你使用 trunc(publish_date),它可能无法使用索引(未经测试,但运行一个解释计划以确保)。
【讨论】:
试试这个
Where TRUNC(sysdate) = TRUNC(publish_date)
sysdate 返回今天的日期和时间。 TRUNC 去掉了时间部分
【讨论】:
TRUNC(publish_date) 可能是一个坏主意和性能杀手