日期查询的问题"/>
oracle 周 跨年,请教关于跨年日期查询的问题
最初由 mychary 发布
[B]提供个思路:
SQL> create table t (t date);
表已创建。
SQL> begin
2 for i in 1 .. 100 loop
3 insert into t values(sysdate -5*i);
4 end loop;
5 end ;
6 /
PL/SQL 过程已成功完成。
SQL> commit;
提交完成。
SQL> set pagesize 1000
SQL> alter session set nls_date_format='YYYYMMDD';
会话已更改。
SQL> select t from t;
T
--------
20070105
20061231
20061226
20061221
.....
20050912
20050907
20050902
20050828
已选择100行。
SQL> select a2-1||'年9月~'||a2||'年4月' no,num from
2 (
3 select to_char(round(t,'YYYY'),'YYYY') a2,count(*) num from t
4 where to_char(t,'MM') not in ('05','06','07','08')
5 group by to_char(round(t,'YYYY'),'YYYY')
6 );
NO NUM
------------------------------------------------------- ----------
2005年9月~2006年4月 49
2006年9月~2007年4月 26
SQL> spool off [/B]
更多推荐
oracle 周 跨年,请教关于跨年日期查询的问题
发布评论