我已经花了数小时在网路上搜寻这个问题的答案…
这是我目前拥有的:
select * from order_header oh where tran_date = sysdate-1
使用:
AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
参考:TRUNC
在工具上调用函数tran_date意味着优化器将无法使用与其关联的索引(假设存在一个索引)。某些数据库(例如Oracle)支持基于函数的索引,这些索引允许对数据执行函数以最大程度地减少这种情况下的影响,但IME DBA不允许这样做。我同意-在这种情况下,它们并不是真正必要的。
tran_date