Как добавить HH:MI в systimestamp в коде PLSQL с переменной HH:MI в качестве переменной

Я хочу заменить '02:00'на переменную в приведенном ниже коде в процедуре PLSQL.

SELECT SYSTIMESTAMP + interval '02:00' HOUR TO MINUTE 
  INTO est_close_date 
FROM DUAL;

1 ответ

Решение

Определите переменную как количество часов, затем вы можете сделать:

declare
  l_number_of_hours integer;
  ...
begin
 ...
 l_number_of_hours := 6;

 SELECT SYSTIMESTAMP + interval '1' HOUR * l_number_of_hours
   INTO est_close_date 
 FROM DUAL;
end;

Если вам нужна более тонкая детализация, используйте минуты:

declare
  l_number_of_minutes integer;
  ...
begin
 ...
 l_number_of_minutes := 2 * 60 + 30;

 SELECT SYSTIMESTAMP + interval '1' minute * l_number_of_minutes
   INTO est_close_date 
 FROM DUAL;
end;
Другие вопросы по тегам