Обсуждение: Hour difference?

Поиск
Список
Период
Сортировка

Hour difference?

От
Bjørn T Johansen
Дата:
I need to compute the difference of Time fields, in the format HHMM. Is
it possible to do the math in the Select?


Regards,

BTJ

--
-----------------------------------------------------------------------------------------------
Bjørn T Johansen (BSc,MNIF)
Executive Manager
btj@havleik.no                  Havleik Consulting
Phone : +47 67 54 15 17         Conradisvei 4
Fax : +47 67 54 13 91           N-1338 Sandvika
Cellular : +47 926 93 298       http://www.havleik.no
-----------------------------------------------------------------------------------------------
"The stickers on the side of the box said "Supported Platforms: Windows
98, Windows NT 4.0,
Windows 2000 or better", so clearly Linux was a supported platform."
-----------------------------------------------------------------------------------------------


Re: Hour difference?

От
Bruno Wolff III
Дата:
On Mon, Aug 18, 2003 at 16:09:43 +0200,
  Bjørn T Johansen <btj@havleik.no> wrote:
> I need to compute the difference of Time fields, in the format HHMM. Is
> it possible to do the math in the Select?

Despite what it says in the documentation, you can't use that format
for the type time.
If timestamps will work for you, you can use to_timestamp to convert
to a timestamps and then subtract them to get an interval.
Another option would be to massage the strings to use a : separator
between the hours and minutes fields and then cast the strings to times.

Re: Hour difference?

От
Bruno Wolff III
Дата:
On Mon, Aug 18, 2003 at 17:56:00 +0200,
  Bjørn T Johansen <btj@havleik.no> wrote:
> I am already using Time for time fields (i.e. timestamp fields without
> the date part) in my database, are you saying this doesn't work???

No. You can't use HHMM format for input without doing some more work.
You can use HH:MM as an input format.

If you already have the data loaded into time fields, you can just
subtract them to get an interval.

Re: Hour difference?

От
Bjørn T Johansen
Дата:
I am already using Time for time fields (i.e. timestamp fields without
the date part) in my database, are you saying this doesn't work???


BTJ

On Mon, 2003-08-18 at 17:55, Bruno Wolff III wrote:
> On Mon, Aug 18, 2003 at 16:09:43 +0200,
>   Bjørn T Johansen <btj@havleik.no> wrote:
> > I need to compute the difference of Time fields, in the format HHMM. Is
> > it possible to do the math in the Select?
>
> Despite what it says in the documentation, you can't use that format
> for the type time.
> If timestamps will work for you, you can use to_timestamp to convert
> to a timestamps and then subtract them to get an interval.
> Another option would be to massage the strings to use a : separator
> between the hours and minutes fields and then cast the strings to times.
--
-----------------------------------------------------------------------------------------------
Bjørn T Johansen (BSc,MNIF)
Executive Manager
btj@havleik.no                  Havleik Consulting
Phone : +47 67 54 15 17         Conradisvei 4
Fax : +47 67 54 13 91           N-1338 Sandvika
Cellular : +47 926 93 298       http://www.havleik.no
-----------------------------------------------------------------------------------------------
"The stickers on the side of the box said "Supported Platforms: Windows
98, Windows NT 4.0,
Windows 2000 or better", so clearly Linux was a supported platform."
-----------------------------------------------------------------------------------------------


Re: Hour difference?

От
Bruno Wolff III
Дата:
On Mon, Aug 18, 2003 at 11:19:35 -0700,
  Jonathan Bartlett <johnnyb@eskimo.com> wrote:
> Is there a way to get an interval in a standard format?  It seems like it
> keeps changing it's ouput style based on the time length.

Extracting epoch from an interval will return the length in seconds.
(With months treated as having 30 days and years as having 12 months.
But that shouldn't matter for your application.) You can then make
calculations with that number to produce whatever output format you want.

Re: Hour difference?

От
Steve Worsley
Дата:
fingerless=# select '7:43'::time AS start, '12:17'::time AS end,
(('12:17'::time) - ('7:43'::time))::interval AS difference;
  start   |   end    | difference
----------+----------+------------
 07:43:00 | 12:17:00 | 04:34
(1 row)


Hope that helps.. Just subsitute your column names for the times.

--Steve


Bjørn T Johansen wrote:

>I need to compute the difference of Time fields, in the format HHMM. Is
>it possible to do the math in the Select?
>
>
>Regards,
>
>BTJ
>
>
>



Re: Hour difference?

От
Jonathan Bartlett
Дата:
Is there a way to get an interval in a standard format?  It seems like it
keeps changing it's ouput style based on the time length.

Jon

On Mon, 18 Aug 2003, Bruno Wolff III wrote:

> On Mon, Aug 18, 2003 at 16:09:43 +0200,
>   Bj�rn T Johansen <btj@havleik.no> wrote:
> > I need to compute the difference of Time fields, in the format HHMM. Is
> > it possible to do the math in the Select?
>
> Despite what it says in the documentation, you can't use that format
> for the type time.
> If timestamps will work for you, you can use to_timestamp to convert
> to a timestamps and then subtract them to get an interval.
> Another option would be to massage the strings to use a : separator
> between the hours and minutes fields and then cast the strings to times.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
>                http://archives.postgresql.org
>


Re: Hour difference?

От
Bjørn T Johansen
Дата:
Well, that might help, thanks... :)

BTJ

On Mon, 2003-08-18 at 20:47, Steve Worsley wrote:
> fingerless=# select '7:43'::time AS start, '12:17'::time AS end,
> (('12:17'::time) - ('7:43'::time))::interval AS difference;
>   start   |   end    | difference
> ----------+----------+------------
>  07:43:00 | 12:17:00 | 04:34
> (1 row)
>
>
> Hope that helps.. Just subsitute your column names for the times.
>
> --Steve
>
>
> Bjørn T Johansen wrote:
>
> >I need to compute the difference of Time fields, in the format HHMM. Is
> >it possible to do the math in the Select?
> >
> >
> >Regards,
> >
> >BTJ
> >
> >
> >