根據會計期間獲取月度第一天,最後一天和年度第一天
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