Как сказал @ Гордон, в Oracle нет типа данных TIME
. Ближайшей альтернативой этому будет INTERVAL DAY TO SECOND
Используйте TO_DSINTERVAL
для преобразования вашей временной строки в интервал.
SELECT SYSDATE,
TO_DSINTERVAL('00 ' || '08:45' || ':00') AS time,
SYSDATE + TO_DSINTERVAL('00 ' || '08:45' || ':00') AS date_plus_time
FROM dual;
SYSDATE TIME DATE_PLUS_TIME
------------------- ------------------- -------------------
2018-10-26 18:12:58 +00 08:45:00.000000 2018-10-27 02:57:58