trunc()函数的存在,语句将不会使用到索引
SELECT SYSDATE,TRUNC(SYSDATE),trunc(sysdate-1),trunc(sysdate)-1/(24*60*60) FROM dual;
| SYSDATE | TRUNC(SYSDATE) | TRUNC(SYSDATE-1) | TRUNC(SYSDATE)-1/(24*60*60) |
| 2011/4/26 10:29:02 | 2011/4/26 | 2011/4/25 | 2011/4/25 23:59:59 |
通过对=号左边需要用trunc()函数的日期字段,改写成日期区间就会用到索引。
如:select * from table_name where rq between trunc(sysdate)-1 and TRUNC(SYSDATE)-1/(24*60*60);
本文探讨了在Oracle数据库中使用TRUNC函数处理日期数据的方法,并解释了如何通过合理运用TRUNC函数来确保查询能有效利用索引,提高查询效率。
463

被折叠的 条评论
为什么被折叠?



