我需要找到一些在多个季度创建的记录。例如,我正在查找 2008 年第四季度和 2010 年第一季度之间创建的所有记录。我的 WHERE 子句中有这个:
...and r.record_create_date between to_date('2008 4','YYYY Q')
and to_date('2010 1','YYYY Q')
但甲骨文说:ORA-01820: format code cannot appear in date input format
。这Q
是一个有效的日期格式符号,所以我不确定发生了什么。这甚至是在日历季度之间查找值的有效方法,还是有更好的方法?
如果我执行此操作,也很有趣,并且可能相关:
select to_date('2009','YYYY') from dual;
我的 IDE 中显示的值为2009-08-01
. 我早就料到了2009-08-04
,因为今天是2010-08-04
。
这:
select to_date('2009 1','YYYY Q') from dual;
当然,失败。
(甲骨文 10g)