是否有任何方法可以截断日期,以便它仍按日期使用索引

时间:2019-04-16 09:39:37

标签: oracle indexing plsql oracle11g truncate

我有一个巨大的表,该表具有按日期索引。通过使用索引,我可以获取数据,没问题。但是我必须将(date)截断到一个月,以便包括整个月,这样我就失去了按索引的访问权限。有什么办法吗?thnx

2 个答案:

答案 0 :(得分:3)

您将必须避免在日期列上进行任何转换。 例如,您可以使用这样的子句来执行此操作(此示例提供了本月的所有行):

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

只需变换变量即可,不要触摸列。

答案 1 :(得分:0)

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

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