Inserting Values into Interval
Hey,
I am having a small issue when entering values into the interval field. Say
I want to enter a time of 2:03, two minutes and 3 seconds. When I insert
that into an interval field, it comes up at 02:03:00, 2 hours, 3 minutes.
The only way I've gotten around this so far is by doing 00:02:03. But I was
wondering if there is another of inserting into an interval field where the
values will start at the lower end first, so the result will be 00:02:03
when 2:03 is inserted?
This will make developing application so much easier if there is, so thanks.
--
View this message in context: http://www.nabble.com/Inserting-Values-into-Interval-tp24153731p24153731.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
BlackMage <dsd7872@uncw.edu> writes:
I am having a small issue when entering values into the interval field. Say
I want to enter a time of 2:03, two minutes and 3 seconds. When I insert
that into an interval field, it comes up at 02:03:00, 2 hours, 3 minutes.
The only way I've gotten around this so far is by doing 00:02:03. But I was
wondering if there is another of inserting into an interval field where the
values will start at the lower end first, so the result will be 00:02:03
when 2:03 is inserted?
In 8.4 it'll be possible to do that by declaring the interval as MINUTE
TO SECOND, but there's no way around it in existing releases. I'm not
sure I'd care to rely on that anyway, because any time you provide an
interval value that isn't *immediately* tied to a MINUTE TO SECOND
qualifier, it's going to get interpreted in the more standard way.
I think you'd be happier in the long run if you avoid depending on such
an ambiguous data format.
regards, tom lane
Tom Lane-2 wrote:
BlackMage <dsd7872@uncw.edu> writes:
I am having a small issue when entering values into the interval field.
Say
I want to enter a time of 2:03, two minutes and 3 seconds. When I insert
that into an interval field, it comes up at 02:03:00, 2 hours, 3 minutes.
The only way I've gotten around this so far is by doing 00:02:03. But I
was
wondering if there is another of inserting into an interval field where
the
values will start at the lower end first, so the result will be 00:02:03
when 2:03 is inserted?In 8.4 it'll be possible to do that by declaring the interval as MINUTE
TO SECOND, but there's no way around it in existing releases. I'm not
sure I'd care to rely on that anyway, because any time you provide an
interval value that isn't *immediately* tied to a MINUTE TO SECOND
qualifier, it's going to get interpreted in the more standard way.
I think you'd be happier in the long run if you avoid depending on such
an ambiguous data format.regards, tom lane
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Well what format should be used then?
The application works like this. Users use a watch time how fast they run
from point A to point B. Afterwards they enter the time taken, say 5 minutes
39 seconds, into a field. The field already checks to make sure the time is
entered in the correct format. After that it takes the time entered in that
fields an enters it into a the db.
So what other field would you enter this into in the db?
--
View this message in context: http://www.nabble.com/Inserting-Values-into-Interval-tp24153731p24164840.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
On 2009-06-23, BlackMage <dsd7872@uncw.edu> wrote:
Well what format should be used then?
The application works like this. Users use a watch time how fast they run
from point A to point B. Afterwards they enter the time taken, say 5 minutes
39 seconds, into a field. The field already checks to make sure the time is
entered in the correct format. After that it takes the time entered in that
fields an enters it into a the db.So what other field would you enter this into in the db?
postgres likes 00:05:39 and 5m39s
it also accepts 5m39 and 0:5:39
so if you can translate the user entered ':' to an 'm' or
prepend a '0:' to their input you should get the result you desire.
another option may be to divide the interval by 60 :)
00:05:39 is how it will represent the value normally.
On the other hand, could you train them to use 'm' instead of ':' ?