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

问题描述 投票:0回答:2

我有一个巨大的表,按日期索引。通过使用索引我得到数据,没问题。但我必须截断(日期)到月,所以它包括整个月,通过这样做我失去了索引的访问权限。有什么办法吗?thnx

oracle indexing plsql oracle11g truncate
2个回答
3
投票

您必须避免在日期列上进行任何转换。你可以这样做,例如使用这样的子句(这个例子给出了本月的所有行):

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.