2013-03-01 12 views
15

Apparently, PostgreSQL nie ma DATEADD, ponieważ można po prostu użyć operatorów + lub -.Jak dodać zmienną liczbę godzin do daty w PostgreSQL?

muszę dodać liczbę godzin do daty, która osiągana jest tak:

date_field + interval '8.25 hour' 

Który jest wielkie, ale muszę liczbę godzin, aby przyjść z pola w tabeli. Byłoby coś takiego:

date_field + interval start_time 'hour' 

Nie mogę znaleźć nigdzie, jak to zrobić. Czy to w ogóle niemożliwe?

Nie mam nic przeciwko uciekaniu się do brzydkich hacków, takich jak przyjmowanie wartości pola i dzielenie przez 3600, pomnożenie przez 86400. Cokolwiek muszę zrobić, ale nie znalazłem żadnego sposobu, aby to zrobić.

Odpowiedz

4

znaleźć odpowiedź, in another SO question:

date + interval '1' minute * FLOOR(start_time * 60) 

nadzieję, że pomoże nikomu

37

Ponieważ chcesz dodać godzin, powinno być raczej:

SELECT date_field + interval '1h' * start_time 

start_time może być dowolny wartość numeryczna.

0

Ten pracował dla mnie jest

SELECT date_field + interval '1' HOUR * start_time 

start_time może mieć dowolną wartość liczbową.

Powiązane problemy