oracle日期操作

select to_char(add_months(last_day(to_date('2008-08-08','yyyy-MM-dd')),-1),'yyyy-MM-dd') LastDay from dual;

3,获取下月

selectadd_months(sysdate,1)fromdual

selectlast_day(sysdate)+1fromdual

4,获取上月同一天

SELECT trunc(trunc(sysdate,'mm')-1,'mm')+to_char(sysdate,'dd')-1 FROM dual;select add_months(TO_DATE('20140302', 'yyyymmdd'),- 1 ) from dual

5,获取去年同一天

SELECT TO_CHAR(ADD_MONTHS(TO_DATE('201404', 'yyyymm'), -12),'yyyymm') FROM dual;

获取上周日

SELECT TO_CHAR(NEXT_DAY(TO_DATE('2014-02-10', 'yyyy-mm-dd'), '星期日') – 7, 'yyyymmdd') FROM DUAL;Oracle获取获取周数 oracle 获取周select TO_CHAR(to_date('20141117','yyyymmdd'), 'ww') from dual;//ww使用oracle的周期算法select TO_CHAR(to_date('20141117','yyyymmdd'), 'iw') from dual;//iw使用标准周期算法

6,,持续sql

SELECT TO_DATE('2009-8', 'YYYY-MM') + ROWNUM – 1 FROM DUALCONNECT BY ROWNUM <(SELECT TRUNC(LAST_DAY(TO_DATE('2009-8', 'YYYY-MM'))) -TRUNC(ADD_MONTHS(LAST_DAY(TO_DATE('2009-8', 'YYYY-MM')),-1))FROM DUAL)

7,年月日

select to_char(sysdate, 'YYYY"年"MM"月"DD"日"') from dual;–select to_char(to_date('2014-02-16', 'yyyy-mm-dd')+(2-to_char(to_date('2014-02-16', 'yyyy-mm-dd'),'d'))-1,'yyyymmdd') from dual;

—- Oracle 取上周一到周末的sql

— 这样取的是 在一周内第几天,是以周日为开始的dual; –结果:6 注释:2013.09.06是周五,为本周的第六天to_char(sysdate,dual;—上周一to_char(sysdate,dual;—上周日– 一个更简单的写法 , 返回date类型dual;—上周一dual;–上周日– 这样查出来是本周一dual;dual; — 结果:2013/9/9 注释:20130915 为周日– 返回char类型,dual;–上周一,dual;–上周日– 获取上周一的函数replacefun_acc_getlastweekstart(systemdate) result_strvarchar2(15);beginto_char(trunc(systemdate,,’yyyymmdd’) result_str dual;result_str;endfun_acc_getlastweekstart;– 获取上周日的函数replacefun_acc_getlastweekend(systemdate) result_strvarchar2(15);beginto_char(trunc(systemdate,,’yyyymmdd’) result_str dual;result_str;endfun_acc_getlastweekend;– 测试这个函数dual;dual;dual;dual; –查询结果:20130826、20130901、20130902、20130908– 注:dual; –查询结果:2013/9/6 9:45:14

都懒得写日记来记录,可见内心底对旅行是多么的淡漠。

oracle日期操作

相关文章:

你感兴趣的文章:

标签云: