Re: concatenation of strings - Mailing list pgsql-general

From Patrick Fiche
Subject Re: concatenation of strings
Date
Msg-id 85058ADF852DD5118FD50002A528A5B6079A37@SERVEUR
Whole thread Raw
In response to concatenation of strings  (Joachim von Thadden <j.thadden@linux-ag.de>)
List pgsql-general
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


pgsql-general by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: concatenation of strings
Next
From: Joel Rodrigues
Date:
Subject: Re: [NOVICE] Unable to locate type name '? in catalog ERROR