Feature request - Add microsecond as a time unit for interval

Started by David Tullohalmost 20 years ago4 messages
#1David Tulloh
david.tulloh@anu.edu.au

The interval datatype can go to microsecond precision though currently
the smallest unit is seconds. Microseconds are represented as decimal
places, eg 5 microseconds is 0.000005 seconds.

To insert microseconds I have to use the following line, ($1*0.000001 ||
' seconds')::interval
Being able to specify microseconds as a unit would avoid hacks like this
and improve support for sub-second intervals.

David

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: David Tulloh (#1)
Re: Feature request - Add microsecond as a time unit for interval

David Tulloh <david.tulloh@anu.edu.au> writes:

To insert microseconds I have to use the following line, ($1*0.000001 ||
' seconds')::interval

Actually, the preferred way to do that is to use the numeric-times-interval
operator, eg

regression=# select 7 * '0.000001 second'::interval;
?column?
-----------------
00:00:00.000007
(1 row)

This generalizes to any scale factor you care to use, eg fortnights...
so I don't see a pressing need to add microseconds.

regards, tom lane

#3Jim C. Nasby
jnasby@pervasive.com
In reply to: Tom Lane (#2)
Re: Feature request - Add microsecond as a time unit for interval

On Thu, Feb 09, 2006 at 10:30:30AM -0500, Tom Lane wrote:

David Tulloh <david.tulloh@anu.edu.au> writes:

To insert microseconds I have to use the following line, ($1*0.000001 ||
' seconds')::interval

Actually, the preferred way to do that is to use the numeric-times-interval
operator, eg

regression=# select 7 * '0.000001 second'::interval;
?column?
-----------------
00:00:00.000007
(1 row)

This generalizes to any scale factor you care to use, eg fortnights...
so I don't see a pressing need to add microseconds.

Something that's always struck me about intervals in PostgreSQL is the
how obtuse it is to generate one. Is there some reasonable way we could
add support for something like interval('7 microseconds')? Or perhaps
seconds(0.000007)?
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461

#4Christopher Kings-Lynne
chriskl@familyhealth.com.au
In reply to: Tom Lane (#2)
Re: Feature request - Add microsecond as a time unit for

This generalizes to any scale factor you care to use, eg fortnights...
so I don't see a pressing need to add microseconds.

Perhaps an argument for adding microseconds to interval declarations is
that you can extract them using extract()... Those two lists of allowed
scales should be the same, no?

Chris