我需要在pl / sql中编写一个脚本,在那里我得到上一段时间。会计系统的期间定义为YYYYMM,即本月当前期间为201304,前几个月期间为201303。
对于我的一个职能,我需要通过一段时间来获得前一个时期。 因此,例如,如果传递的期间是201301,那么查询需要返回201212
答案 0 :(得分:12)
仅限SQL:
SELECT TO_CHAR(ADD_MONTHS(TO_DATE(current_period, 'YYYYMM'), -1), 'YYYYMM')
FROM dual;
PL / SQL:
previous_period := TO_CHAR(ADD_MONTHS(TO_DATE(current_period, 'YYYYMM'), -1), 'YYYYMM');