当前位置:数据库 > Oracle >>

ORACLE时间字段取年、月、日、季度

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()
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,