Oracle在一个月内获得所有日期(Oracle get all dates in a month)
我正在尝试编写一个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');I am trying to write an SQL statement that would allow me to retrieve all the orders created in the month of September without much luck.
Not working:
select order_number, created_date from orders where created_date in to_date('2012-09', 'YYYY-MM');Working but too long:
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不变,以确保你可以很好地利用它的索引。
How about:
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');You should try to leave created_date untouched to make sure that you can leverage indexes on it nicely.
更多推荐
发布评论