Ответ 1
Поскольку вы хотите добавить часы, это должно быть:
SELECT date_field + interval '1h' * start_time
start_time
может быть любым численным значением.
Видно, PostgreSQL не имеет DATEADD
, потому что вы можете просто использовать операторы +
или -
.
Мне нужно добавить несколько часов к дате, которая выполняется следующим образом:
date_field + interval '8.25 hour'
Это здорово, но мне нужно количество часов, которые можно найти в поле в таблице. Было бы примерно так:
date_field + interval start_time 'hour'
Я не могу найти нигде, как это сделать. Это действительно невозможно?
Я не против прибегать к уродливым взломам, например, принимать значение поля и делить на 3600, умножая на 86400. Что бы мне ни делал, но я тоже не нашел никакого способа сделать это.
Поскольку вы хотите добавить часы, это должно быть:
SELECT date_field + interval '1h' * start_time
start_time
может быть любым численным значением.
Нашел ответ в другом вопросе SO:
date + interval '1' minute * FLOOR(start_time * 60)
Надеюсь, что кто-нибудь поможет
Тот, который работал у меня,
SELECT date_field + interval '1' HOUR * start_time
start_time может быть любым числовым значением.
Если кто-то хочет добавить отметку времени, то
select time '05:00' - interval '2 hours'