打印本文 打印本文 关闭窗口 关闭窗口
关于日期的sql,做报表的时候可能有用!!!
作者:武汉SEO闵涛  文章来源:敏韬网  点击数884  更新时间:2007/11/14 12:01:07  文章录入:mintao  责任编辑:mintao

 


--得到年月,日,季度

   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'''');

打印本文 打印本文 关闭窗口 关闭窗口