服务器 频道

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

  【IT168 服务器学院】--得到年月,日,季度
  
  
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)   );
  
  --得到季度和月份对应关系
  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)   );
  
  --得到一年中的天数
  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)  
0
相关文章