一尘不染

Oracle获得一个月内的所有日期

sql

我正在尝试编写一条SQL语句,该语句将允许我检索在9月份创建的所有订单,但运气不佳。

无法运作:

select order_number, created_date
from orders
where created_date in to_date('2012-09', 'YYYY-MM');

工作但时间太长:

select order_number, created_date
from orders
where trunc(created_date) between to_date('2012-09-01', 'YYYY-MM-DD') and to_date('2012-09-30', 'YYYY-MM-DD');

阅读 299

收藏
2021-03-08

共1个答案

一尘不染

怎么样:

select order_number, created_date
from orders
where created_date >= to_date('2012-09-01', 'YYYY-MM-DD') 
and created_date < to_date('2012-10-01', 'YYYY-MM-DD');

您应该尽量created_date保持不变,以确保可以很好地利用索引。

2021-03-08