Секунды должны храниться как number
, почему они varchar
(или, вероятно, varchar2
)?
Помимо этого, хитрость заключается в том, чтобы взять литерал интервала (что действительно требует жесткого -кодированная строка) и используйте над ней арифметические операции c.
Итак, допустим, time
и adjust
- ваши столбцы; time
- это тип данных timestamp, а adjust
- число, измеряемое в секундах. (Если это строка, вы можете явно преобразовать ее в число, заключив ее в to_number()
; я оставлю это, поскольку adjust
действительно должно быть типом данных number
для начала.)
Затем вы можете сделать что-то вроде этого:
..... time + adjust * interval '1' second.
Здесь adjust
может быть 300, как в примере, который вы дали в ответе GMB.