oracle中常用的日期格式转换

--格式化字符串日期
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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值