我正在尝试编写一条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');
怎么样:
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保持不变,以确保可以很好地利用索引。
created_date