У меня есть дата, и я хочу напечатать смещение от этой даты.Я могу сделать это:
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
, поэтому я попытался это:*
Хотя я все еще получаю ошибки компилятора, говорящие:
Error: PLS-00103: Encountered the symbol "TO_CHAR" when expecting one of the following:
. ) , * @ & | = - + at in is mod remainder not rem =>
.. or != or ~= >= and or like
LIKE2_ LIKE4_ LIKEC_ as between from using || member
SUBMULTISET_
The symbol "," was substituted for "TO_CHAR" to continue.
Line: 704
Error: PLS-00103: Encountered the symbol "MONTH" when expecting one of the following:
. ( ) , * % & | = - + at in is mod remainder not range
rem => .. or != or ~= >= and or
like LIKE2_ LIKE4_ LIKEC_ between || multiset member
SUBMULTISET_
The symbol "." was substituted for "MONTH" to continue.
Line: 704
Есть ли другой способ сделать это?