你的位置:首页 > 数据库

[数据库]根据会计期间获取月度第一天,最后一天和年度第一天


简单的记录一下,以免忘记:

DECLARE V_PERIOD_BEGIN_DATE DATE; V_PERIOD_END_DATE  DATE; V_YEAR_BEGIN_DATE  DATE; V_PERIOD_NAME    VARCHAR2(20) := '2015-11';BEGIN SELECT TO_DATE(V_PERIOD_NAME, 'YYYY-MM', 'NLS_DATE_LANGUAGE =American')  INTO V_PERIOD_BEGIN_DATE  FROM DUAL; DBMS_OUTPUT.PUT_LINE('会计期间第一天:' || V_PERIOD_BEGIN_DATE); SELECT LAST_DAY(TO_DATE(V_PERIOD_NAME,             'YYYY-MM',             'NLS_DATE_LANGUAGE =American'))  INTO V_PERIOD_END_DATE  FROM DUAL; DBMS_OUTPUT.PUT_LINE('会计期间最后一天:' || V_PERIOD_END_DATE); SELECT TO_DATE('01-JAN-' || SUBSTR(V_PERIOD_NAME, 3, 2),         'DD-MON-YY',         'NLS_DATE_LANGUAGE =American')  INTO V_YEAR_BEGIN_DATE  FROM DUAL; DBMS_OUTPUT.PUT_LINE('年度第一天:' || V_YEAR_BEGIN_DATE);END;

结果:

会计期间第一天:01-11月-15
会计期间最后一天:30-11月-15
年度第一天:01-1月 -15