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