Oracle PL / SQL上一年和一月

时间:2013-04-26 15:54:58

标签: sql oracle plsql

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

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

1 个答案:

答案 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');