Oracle PL/SQL上一年和一月

Pin*_*inu 4 sql oracle plsql

我需要在pl/sql中编写一个脚本,在那里我得到上一段时间.会计系统中的期间定义为YYYYMM,即本月当前期间为201304,前一个月期间为201303.

对于我的一个函数,我需要通过一段时间来获得前一个时期.因此,例如,如果传递的期间是201301,那么查询需要返回201212

Tod*_*son 12

仅限SQL:

SELECT TO_CHAR(ADD_MONTHS(TO_DATE(current_period, 'YYYYMM'), -1), 'YYYYMM') 
FROM dual;
Run Code Online (Sandbox Code Playgroud)

PL/SQL:

previous_period := TO_CHAR(ADD_MONTHS(TO_DATE(current_period, 'YYYYMM'), -1), 'YYYYMM');
Run Code Online (Sandbox Code Playgroud)