您的位置:首页 > 数据库 > Oracle

oracle中常用的日期格式转换

2016-10-26 11:46 218 查看
--格式化字符串日期

select to_date('20160912','yyyy-MM-dd') from dual;

--以当前日期为基准,下一个某天,1代表周日,2代表周一,以此类推

select  Next_day(to_date('20160912','yyyy-MM-dd'),3)  from dual;

---计算n天之后或之前的日期

select to_date('20160912','yyyy-MM-dd')-1 from dual;

select to_date('20160912','yyyy-MM-dd')+1 from dual;

--格式化日期函数为字符串

select sysdate,to_char(sysdate,'yyyyMMdd') from dual ;

select sysdate,to_char( to_date('20160912','yyyy-MM-dd'),'yyyyMMdd') from dual ;

--计算字符串格式日期的n天之后或之前日期

SELECT to_char(to_date('20160912','yyyy-MM-dd')-1,'yyyyMMdd') FROM  dual;

SELECT to_char(to_date('20160912','yyyy-MM-dd')+1,'yyyyMMdd') FROM  dual;

---计算当前时间n分钟之后或之后的时间

select sysdate,sysdate - interval '7' MINUTE from dual;

select sysdate,sysdate + interval '7' MINUTE from dual;

---计算两个日期间的天数

select floor(sysdate - to_date('20160912','yyyymmdd')) from dual;    

--计算当前日期属于星期几

select to_char(to_date('20160912','yyyy-mm-dd'),'day') from dual; ---默认语言是中文

select to_char(to_date('20160912','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;  --设置星期语言

---计算两个日期之间除了周六、周日后剩余的天数

 select count(*)  from ( select rownum-1 rnum   from all_objects   where rownum <= to_date('20160912','yyyy-mm-dd') - to_date('20160901','yyyy-mm-dd')+1  )    where to_char( to_date('20160912','yyyy-mm-dd')+rnum-1, 'D' )  not in ( '6', '7' )  ;

 ---查询一年的第几天
 select to_char(sysdate,'ddd'),sysdate from dual   ;

---计算当前日期n个月之后的日期

select to_char(add_months(to_date('20161028', 'yyyymmdd'), '1'),'yyyymmdd') from dual;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle