我有一个日期,我想打印该日期的偏移量。我可以做这个:
dbms_output.put_line(to_char(g_startDate - interval '4' month ,'YYYY-MM-DD'));
它工作正常。问题是间隔是可变的。当我尝试这个时:
dbms_output.put_line(to_char(g_startDate - interval g_dateOffsetAmt month ,'YYYY-MM-DD'));
我得到一个编译器错误。
我想这可能是因为g_dateOffsetAmt
是一个integer
所以我尝试了这个:
dbms_output.put_line(to_char(g_startDate - interval to_char(g_dateOffsetAmt) month ,'YYYY-MM-DD'));
虽然我仍然收到编译器错误说:
错误:PLS-00103:在预期以下情况之一时遇到符号“TO_CHAR”: . ) , * @ & | = - + at in 是 mod 余数不是 rem => .. or != or ~= >= and or like LIKE2_ LIKE4_ LIKEC_ 之间使用 || 成员 SUBMULTISET_ 符号“,”被替换为“TO_CHAR”以继续。 线路:704 错误:PLS-00103:在预期以下情况之一时遇到符号“MONTH”: . ( ) , * % & | = - + at in 是 mod 余数不是范围 rem => .. or != or ~= >= and or 喜欢LIKE2_LIKE4_LIKEC_之间|| 多集成员 SUBMULTISET_ 符号“。” 被替换为“MONTH”以继续。 线路:704
还有其他方法可以做到这一点吗?