有什么方法可以截断日期,以便它仍然按日期使用索引
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()
的方法
我有一个巨大的 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()