Re: String concatenation work in version 8.2.11 and 8.3.6

From: Julius Tuskenis <julius(at)nsoft(dot)lt>
To: Tony Liao <tonyliao(at)yuehetone(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: String concatenation work in version 8.2.11 and 8.3.6
Date: 2009-02-26 09:23:53
Message-ID: 49A65FA9.1000809@nsoft.lt
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi Tony,

Its not a bug - automatic casting was removed in 8.3. You should cast( a
as text)||cast(b ... = cast(123456 as text). Other option is to define
your own operators which is to be used only in case you can not fix
clients of your database...

Tony Liao rašė:
> hi,all
> for example tableA
> create table tableA (
> id serial,
> a integer,
> b integer,
> c integer
> );
> insert into tableA (a,b,c) values (12,34,56);
>
> then,
> select id from tableA where (a||b||c)=123456;
> in postgresql version 8.2.11,it works.
> but in postgresql version 8.3.6,the error as bellow:
> ERROR: operator does not exist: integer || integer
> LINE 1: select id from tableA where (a||b||c)=123456;
> ^
> HINT: No operator matches the given name and argument type(s).
> You might need to add explicit type casts.
>
> is it a bug in 8.2.11 or I install 8.3.6 not completely?

--
Julius Tuskenis
Programavimo skyriaus vadovas
UAB nSoft
mob. +37068233050

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tony Liao 2009-02-26 09:37:38 Re: String concatenation work in version 8.2.11 and 8.3.6
Previous Message Tony Liao 2009-02-26 08:32:50 String concatenation work in version 8.2.11 and 8.3.6