【发布时间】:2013-04-26 15:54:57
【问题描述】:
我需要在 pl/sql 中编写一个脚本,在那里我得到了上一个时期。会计系统中的期间定义为 YYYYMM,即本月当前期间为 201304,上个月期间为 201303。
对于我的一个函数,一个周期已过,我需要获取上一个周期。 因此,例如,如果传递的时间段是 201301,那么查询需要返回 201212
【问题讨论】:
我需要在 pl/sql 中编写一个脚本,在那里我得到了上一个时期。会计系统中的期间定义为 YYYYMM,即本月当前期间为 201304,上个月期间为 201303。
对于我的一个函数,一个周期已过,我需要获取上一个周期。 因此,例如,如果传递的时间段是 201301,那么查询需要返回 201212
【问题讨论】:
仅限 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');
【讨论】: