Re: INTERVAL data type and libpq - what format? - Mailing list pgsql-general

From Tom Lane
Subject Re: INTERVAL data type and libpq - what format?
Date
Msg-id 10960.1243197679@sss.pgh.pa.us
Whole thread Raw
In response to Re: INTERVAL data type and libpq - what format?  (Ron Mayer <rm_pg@cheapcomplexdevices.com>)
Responses Re: INTERVAL data type and libpq - what format?  (Sebastien FLAESCH <sf@4js.com>)
List pgsql-general
Ron Mayer <rm_pg@cheapcomplexdevices.com> writes:
> Sam Mason wrote:
>> You get an error because " 123 11" isn't a valid literal of an
>> (undecorated) INTERVAL type.

> Hmm..... should it be?

Well, we do allow it if it's *explicitly* stated to be a day to hour
interval:

regression=# select interval '123 11' day to hour;
     interval
-------------------
 123 days 11:00:00
(1 row)

What's at issue here is what should happen without that context.
I'm inclined to think this is ambiguous enough that accepting it
silently isn't such a great idea.  I'm also not convinced that the
SQL spec says we must --- the syntax for <interval literal> does
not appear to allow omitting the fields specification.

In a related example,

regression=# select interval '123 11' day;
 interval
----------
 134 days
(1 row)

we seem to be adding the 123 and 11 together.  This is, um,
surprising behavior ... I'd be inclined to think throwing an
error is more appropriate.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: question about SSIS
Next
From: marco santillan
Date:
Subject: Query