2009/2/26 Julius Tuskenis <julius@xxxxxxxx>
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