PostgreSQL Bugs List wrote:
> 
> The following bug has been logged online:
> 
> Bug reference:      1107
> Logged by:          Jozef Behran
> 
> Email address:      [EMAIL PROTECTED]
> 
> PostgreSQL version: 7.3.2
> 
> Operating system:   Mandrake GNU/Linux
> 
> Description:        Missing feature: interval <-> numeric quantity 
> conversion 
> 
> Details: 
> 
> Having two timestamps it is common need to know how many 
> seconds/minutes/hours/days/etc. passed from one to the other. However there 
> is no easy way to do this task. 
> 
> The basic idea is subtracting the two timestamps. However it gives a data 
> type called "interval". The thing I would like to have is a function that 
> takes the "interval" and outputs it's length. Currently when I want a 
> program to know how long an interval is I must let it parse the interval 
> textual representation (which may be subject to change) to obtain what I 
> want. 
> 
> I consider this to be a bug, because it seriously degrades the usability of 
> timestamp data types in applications where interval lengths are extensively 
> demanded and used. I was forced to store these data in an INT8 data type 
> column because my project extensively uses time interval lengths for other 
> computations and converting dates to INT8 before write and then subtracting 
> the numbers when need arises is MUCH faster than subtracting timestamps and 
> parsing the result of such a subtraction. 
> 
> Note: The 'date' data type does not have this problem. The result of two 
> dates subtraction is an integer (not 'interval') which I can use quite 
> easily. 

You can do this:
        
        test=> select date_part('days', '1 day 2 hours 3 seconds'::interval);
         date_part
        -----------
                 1
        (1 row)
        
        test=> select date_part('hours', '1 day 2 hours 3 seconds'::interval);
         date_part
        -----------
                 2
        (1 row)
        
        test=> select date_part('seconds', '1 day 2 hours 3 seconds'::interval);
         date_part
        -----------
                 3
        (1 row)

What I can't seem to do is get the total seconds in 1 day, 2 hours, 3
seconds.  Anyone?

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to