有什么方法可以截断日期,以便它仍然按日期使用索引

Is there any method to truncate date, so that it remains using index by date

我有一个巨大的 table,其中包含按日期索引的内容。通过使用索引我正在获取数据,没问题。但是我必须将(日期)截断到一个月,以便它包括整个月,这样做我将失去按索引访问的权限。有什么办法吗?thnx

您必须避免对日期列进行任何转换。 你可以用这样的子句来做到这一点(这个例子给出了这个月的所有行):

And (mydatecol >= trunc(sysdate,'MM') and mydatecol < trunc(add_month(sysdate,+1),'MM') )

只需转换您的变量,不要触及该列。

不想留下未回答的问题,我已经使用方法 LAST_DAY(:edate)+1-1/86400 解决了这个问题 和 ADD_MONTHS((LAST_DAY(:edate)+1),-1)

是的,我试图找到避免TRUNC()

的方法