[数据库]ORACLE时间字段取年、月、日、季度

--得到年月,日,季度  
   
        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');

总结:

to_char(sysdate,'q')   季  
  to_char(sysdate,'yyyy')年  
  to_char(sysdate,'mm')月  
  to_char(sysdate,'dd')日  
  to_char(sysdate,'d')星期中的第几天
 to_char(sysdate,'DAY')星期几
to_char(sysdate,'ddd')一年中的第几天

其它方法:
select   extract(month   from   query_cxrq)  from app_query

extract(year from query_cxrq)年度
extract(month from query_cxrq)月份
extract(day from query_cxrq)日

 --转换带时间的日期格式变量为shortdate格式时间字符串方法:

1、datetime.tostring("yyyy.MM.dd")

2、formatdatetime(datetime,"yyyy.MM.dd")

3、convert.todatetime(str).ToShortDateString()

posted @ 2009-12-16 17:17  浪子の无悔  阅读(6084)  评论(0编辑  收藏  举报