Converting time to float

Поиск
Список
Период
Сортировка
От Jorge Godoy
Тема Converting time to float
Дата
Msg-id 874pn2xcsg.fsf@gmail.com
обсуждение исходный текст
Ответы Re: Converting time to float
Список pgsql-general
Hi!


I am needing to convert from TIME type to floats and taking 1h as the
unit, so what I'd like is something that would allow me doing operations
like:

SELECT '00:10:00'::TIME / '1:00:00'::TIME;  -- Answer is: 0.16666666666666666667
SELECT '00:30:00'::TIME / '1:00:00'::TIME;  -- Answer is: 0.5
SELECT '01:10:00'::TIME / '1:00:00'::TIME;  -- Answer is: 1.16666666666666666667

or

SELECT '00:10:00'::TIME / '1 hour'::INTERVAL;  -- Answer is: 0.16666666666666666667
SELECT '00:30:00'::TIME / '1 hour'::INTERVAL;  -- Answer is: 0.5
SELECT '01:10:00'::TIME / '1 hour'::INTERVAL;  -- Answer is: 1.16666666666666666667

i.e., I want to see how many times one time value fits in another.  I'll
have times with just seconds, minutes and seconds and I might have times
with hours, minutes and seconds to make this fit.


My first idea is converting each part of the time individually by diving
it by 1.0 (hours), by 60.0 (minutes) or by 3600.0 (for seconds) and then
adding it all up...  Of course I won't do the division for hours and I'm
using floats here to for a float division instead of an integer
division.


Any hints or a better recipe? :-)

--
Jorge Godoy      <jgodoy@gmail.com>

В списке pgsql-general по дате отправления:

Предыдущее
От: Nico Sabbi
Дата:
Сообщение: Some problem with warm standby server
Следующее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: Vacuum-full very slow