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