I had a similar problem with LEFT function...
This is due to the fact that LEFT and RIGTH are reserved keywords.
Here is the answer I got :
----------------------------------------------------------------------
Use a different function name. LEFT is a reserved word, and while PG
will let you get away with using it as a function name anyway, there
are situations like this where the normal interpretation of the keyword
takes precedence.
I've tweaked the grammar for 7.3 so that this particular case works,
but you'd still have similar problems if you were to use, say, BETWEEN
as a function name.
regards, tom lane
----------------------------------------------------------------------
-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org]On Behalf Of Joachim von
Thadden
Sent: Tuesday, September 10, 2002 2:44 PM
To: pgsql-general@postgresql.org
Subject: Re: [GENERAL] concatenation of strings
Here are the results of the tests below, so that you need not repeat
them. I use the newest version (7.2.2) of Postgres.
select proname,prorettype from pg_proc where proname='substr' or
proname='right';
proname | prorettype
---------+------------
substr | 25
substr | 25
right | 25
(3 Zeilen)
select typname from pg_type where typelem=25;
typname
---------
_text
(1 Zeile)
SELECT 'haha'||substr('jojo', 2);
?column?
----------
hahaojo
(1 Zeile)
SELECT 'haha'||right('jojo', 2);
ERROR: parser: parse error at or near "right"
SELECT 'haha'||cast(right('jojo', 2) AS text);
?column?
----------
hahajo
(1 Zeile)
SELECT right('jojo', 2) || 'haha';
?column?
----------
johaha
(1 Zeile)
Sincerely
Joachim von Thadden
Am Die, Sep 10, 2002 at 12:37:39 +0000 schrieb Joachim von Thadden:
> Hi,
>
> I have a screwed problem with a simple string concatenation: If I concat
> a string with the result of a function, which is also a string, I get an
> error. If I do the same with a builtin function it works, also the
> return types are equal. Here is an example:
--
Joachim von Thadden Linux Information Systems AG
Linux is our Business. ____________________________________ www.Linux-AG.com
__
Linux-Trainings bundesweit - Termine unter http://www.linux-ag.com/training