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

def weighted_choice(choices):
   total = sum(w for c, w in choices)
   r = random.uniform(0, total)
   upto = 0
   for c, w in choices:
      if upto + w >= r:
         return c
      upto += w
   assert False, "Shouldn't get here"
0
задан a_horse_with_no_name 13 July 2018 в 11:16
поделиться

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;
0
ответ дан a_horse_with_no_name 17 August 2018 в 13:05
поделиться
  • 1
    Спасибо, Что, если я хочу добавить HH: MI (например, 02:30) в SYSTIMESTAMP? – Abdul Baqi Syed 13 July 2018 в 11:28
  • 2
    @AbdulBaqiSyed: затем используйте минуты в качестве базового блока – a_horse_with_no_name 13 July 2018 в 11:32
Другие вопросы по тегам:

Похожие вопросы: