Subject | Re: [ib-support] Subtract two TimeStamp-Fields |
---|---|
Author | Helen Borrie |
Post date | 2001-02-27T01:01:37Z |
At 01:21 AM 27-02-01 +0100, you wrote:
"Time" and "duration" are two different things.
Time marks a spot in a continuum of time intervals since midnight (hours and parts thereof). The difference between this and duration (the time elapsed, measured in time intervals, between two "times") is a quantity.
Why not write a UDF to convert this quantity (seconds?) into hours and return a string with the format you want?
Helen
InterBase Developer Initiative ยท http://www.interbase2000.org
_______________________________________________________
>Thanks, that works. Is it possible to cast the duration back to TIME. For example,Guido,
>I have 5400 sec and I want display the value as 01:30.
>
>Guido.
"Time" and "duration" are two different things.
Time marks a spot in a continuum of time intervals since midnight (hours and parts thereof). The difference between this and duration (the time elapsed, measured in time intervals, between two "times") is a quantity.
Why not write a UDF to convert this quantity (seconds?) into hours and return a string with the format you want?
Helen
>"Ann W. Harrison" wrote:All for Open and Open for All
>
> > At 02:51 PM 2/26/2001 +0100, guido.klapperich@... wrote:
> > >I have two fields in a table
> > >Start TimeStamp (for example 19.02.2001 8:00)
> > >End TimeStamp (for example 20.02.2001 9:00)
> > >and I want the duration between these two fields. I tried something like
> > >
> > >that
> > >cast ((End-Start) as Numeric(9,3))
> > >to get the seconds, that has gone by between these two points. But I get
> > >
> > >an conversion error. Can anybody help me.
> >
> > Subtracting a time from a time gives a number of seconds. Subtracting
> > a timestamp from a timestamp gives a number of days.
> >
> > This worked for me:
> >
> > SQL> create table foo (foots timestamp, foot time, food date, fooi double
> > precision);
> > SQL> commit;
> > SQL> insert into foo values ('now', '11:11:11.123', 'today', NULL);
> > SQL> select * from foo;
> >
> > FOOTS FOOT FOOD FOOI
> > ========================= ============= =========== =======================
> >
> > 2001-02-26 10:07:55.0000 11:11:11.1230 2001-02-26 <null>
> >
> > SQL> select cast ('now' as timestamp) - foots from foo;
> >
> > 0.000590277
> >
> > SQL> select cast ('12:00:00.000' as time ) - foot from foo;
> >
> > 2928.8770
> >
> > SQL> select cast (cast ('now' as timestamp) - foots as numeric (9,3)) from foo;
> >
> > 0.003
> >
> > Regards,
> >
> > Ann
> > www.ibphoenix.com
> > We have answers.
> >
> > To unsubscribe from this group, send an email to:
> > ib-support-unsubscribe@egroups.com
> >
> >
> >
> > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>To unsubscribe from this group, send an email to:
>ib-support-unsubscribe@egroups.com
>
>
>
>Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
InterBase Developer Initiative ยท http://www.interbase2000.org
_______________________________________________________