关于日期的sql,做报表的时候可能有用!!!

发表于:2007-07-02来源:作者:点击数: 标签:
--得到年月,日,季度 select to_char(日期,@#yyyymmdd@#) DATE_ID,to_char(日期,@#yyyy@#)||@#年@#||to_char(日期,@#mm@#)||@#月@#||to_char(日期,@#dd@#)||@#日@# DATE_NAME, to_char(日期,@#yyyymm@#) MONTH_ID,to_char(日期,@#yyyy@#)||@#年@#||to_char(

 


--得到年月,日,季度

   select
to_char(日期,@#yyyymmdd@#) DATE_ID,to_char(日期,@#yyyy@#)||@#年@#||to_char(日期,@#mm@#)||@#月@#||to_char(日期,@#dd@#)||@#日@# DATE_NAME,
to_char(日期,@#yyyymm@#) MONTH_ID,to_char(日期,@#yyyy@#)||@#年@#||to_char(日期,@#mm@#)||@#月@# MONTH_NAME,
@#Q@#||to_char(日期,@#q.yyyy@#) QUARTERID,to_char(日期,@#yyyy@#)||@#年第@#||to_char(日期,@#q@#)||@#季度@# QUARTERID_NAME,
to_char(日期,@#yyyy@#) YEAR_ID,to_char(日期,@#yyyy@#)||@#年@# YEAR_NAME
 from(
select to_date(@#2000-01-01@#,@#yyyy-mm-dd@#)+(rownum-1) 日期 from user_objects where rownum<367 and to_date(@#2000-01-01@#,@#yyyy-mm-dd@#)+(rownum-1)<to_date(@#2001-01-01@#,@#yyyy-mm-dd@#)
);

 

 

--得到季度和月份对应关系

select distinct to_char(日期,@#q@#) 季度,to_char(to_date(@#2001-01-01@#,@#yyyy-mm-dd@#)+(rownum-1),@#yyyymm@#) 日期  from(
select to_date(@#2001-01@#,@#yyyy-mm@#)+(rownum-1) 日期 from user_objects where rownum<367 and to_date(@#2001-01-01@#,@#yyyy-mm-dd@#)+(rownum-1)<to_date(@#2002-01-01@#,@#yyyy-mm-dd@#)
);

--得到一年中的天数

  select to_char(to_date(@#2000-01-01@#,@#yyyy-mm-dd@#)+(rownum-1),@#yyyy-mm-dd@#) 日期 from user_objects where rownum<367 and to_date(@#2000-01-01@#,@#yyyy-mm-dd@#)+(rownum-1)<to_date(@#2001-01-01@#,@#yyyy-mm-dd@#);

原文转自:http://www.ltesting.net