Обсуждение: Hrm. interval() function?
While doing the previous post, I found that the following fails, should it?
PG 7.3.2 on FreeBSD:
ler=# \df interval List of functionsResult data type | Schema | Name | Argument data
types
------------------+------------+----------+------------------------interval | pg_catalog | interval |
reltimeinterval | pg_catalog | interval | textinterval | pg_catalog | interval | time without time zone
(3 rows)
ler=# select interval('6 months');
ERROR: parser: parse error at or near "'6 months'" at character 17
ler=# select interval('6 months'::text);
ERROR: parser: parse error at or near "'6 months'" at character 17
ler=#
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> ler=# select interval('6 months');
> ERROR: parser: parse error at or near "'6 months'" at character 17
> ler=# select interval('6 months'::text);
> ERROR: parser: parse error at or near "'6 months'" at character 17
> ler=#
Try:
select "interval"('6 months');
Chris
--On Friday, March 14, 2003 10:49:28 +0800 Christopher Kings-Lynne
<chriskl@familyhealth.com.au> wrote:
>> ler=# select interval('6 months');
>> ERROR: parser: parse error at or near "'6 months'" at character 17
>> ler=# select interval('6 months'::text);
>> ERROR: parser: parse error at or near "'6 months'" at character 17
>> ler=#
>
> Try:
>
> select "interval"('6 months');
>
That works, but is non-intuitive. I assume this is a reserved word issue?
Can it be fixed?
LER
> Chris
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> >> ler=# select interval('6 months');
> >> ERROR: parser: parse error at or near "'6 months'" at character 17
> >> ler=# select interval('6 months'::text);
> >> ERROR: parser: parse error at or near "'6 months'" at character 17
> >> ler=#
> >
> > Try:
> >
> > select "interval"('6 months');
> >
> That works, but is non-intuitive. I assume this is a reserved word issue?
It's been like that since 7.2 introduced sql standard syntax for various
timestmap things.
> Can it be fixed?
Nope - the correct way to use that function is this:
select interval '6 months';
Chris
--On Friday, March 14, 2003 10:52:46 +0800 Christopher Kings-Lynne
<chriskl@familyhealth.com.au> wrote:
>> >> ler=# select interval('6 months');
>> >> ERROR: parser: parse error at or near "'6 months'" at character 17
>> >> ler=# select interval('6 months'::text);
>> >> ERROR: parser: parse error at or near "'6 months'" at character 17
>> >> ler=#
>> >
>> > Try:
>> >
>> > select "interval"('6 months');
>> >
>> That works, but is non-intuitive. I assume this is a reserved word
>> issue?
>
> It's been like that since 7.2 introduced sql standard syntax for various
> timestmap things.
>
>> Can it be fixed?
>
> Nope - the correct way to use that function is this:
>
> select interval '6 months';
Drat, SQL gets me again :-).
Thanks,
LER
>
> Chris
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749