问题遇到的现象和发生背景
oracle数据库,求两个月前的日期,但如果输入的是一月份,则两个月前则会来到21年11月,但我只想让它最多减到当年的一月一号
SELECT
TO_CHAR( TRUNC( ADD_MONTHS( TO_DATE( '2022-05-10', 'yyyy-MM-dd' ), - 2 ), 'mm' ), 'yyyy-MM-dd' )
FROM
dual
'2022-03-01'
如果为一月:
SELECT
TO_CHAR( TRUNC( ADD_MONTHS( TO_DATE( '2022-01-10', 'yyyy-MM-dd' ), - 2 ), 'mm' ), 'yyyy-MM-dd' )
FROM
dual
'2021-11-01'
想要的效果为:
'2022-01-01'
(最多减到当年的一月一)