Thread: query configuration for validate empty quote to zero
We just changed the postgresql server and got some problem with sql command
in our old server we can exexute this query:
SELECT * FROM product WHERE prdtnumber = ''
field prdtnumber data type is integer and the empty quote somehow can be assumed into 0 (zero)
Now, if I use the same query it return an error:
invalid input syntax for integer: ""
Anyone know what's the problem??
Thanks
Yudie
"Yudie" <yudie@axiontech.com> writes: > Now, if I use the same query it return an error: > invalid input syntax for integer: "" > Anyone know what's the problem?? None. That's an intentional change. The fact that it ever accepted '' as meaning 0 was a bug. regards, tom lane
The problem is not stop there, I had a table that can't be updated since then with this simply command: update prdttable set webinclude = '0' where prdtnumber = '6002' Again, the errors (invalid input syntax for integer: "") apears. Then I found this temporary solution to make replica to this record to another table in sense of update the value in the new table. 1. Create table prdt_problem as select * form prdttable where prdtnumber = '6002'; 2. Update prdt_problem set webinclude = '0' where prdtnumber = '6002'; 3. Delete from prdttable where prdtnumber = '6002'; 4. Insert into prdttable select * from prdt_problem How to fix this bug? > None. That's an intentional change. The fact that it ever accepted > '' as meaning 0 was a bug. > > regards, tom lane >
Did you try to explicitly give the type for the literal?
e.g. ''::varchar
-----Original Message-----
From: Yudie [mailto:yudie@axiontech.com]
Sent: Montag, 17. Jänner 2005 19:44
To: pgsql-sql@postgresql.org
Subject: [SQL] query configuration for validate empty quote to zero
From: Yudie [mailto:yudie@axiontech.com]
Sent: Montag, 17. Jänner 2005 19:44
To: pgsql-sql@postgresql.org
Subject: [SQL] query configuration for validate empty quote to zero
We just changed the postgresql server and got some problem with sql commandin our old server we can exexute this query:SELECT * FROM product WHERE prdtnumber = ''field prdtnumber data type is integer and the empty quote somehow can be assumed into 0 (zero)Now, if I use the same query it return an error:invalid input syntax for integer: ""Anyone know what's the problem??ThanksYudie