oh, ok understood. What will happen for a timestamp field. Let us say c1 is a timestamp column.
sqlstr := 'insert into test(c1, c2) values ('||'\''||COALESCE(rec.c1,'NULL')||'\',' > > ||'\''||rec.c2||'\')'; If this case the query will be insert into test(c1,c2) values ('2004-02-13', 'Hai') If there is a null value encountered i will return an error for the following query insert into test(c1,c2) values ('NULL', 'Hai') ERROR: Bad timestamp external representation 'NULL' I think using 'CASE' this could be solved. But instead is there any other simple way to do it. Thanks a lot Mr. Tomasz Myrta Kumar ----- Original Message ----- From: "Tomasz Myrta" <[EMAIL PROTECTED]> To: "Kumar" <[EMAIL PROTECTED]> Cc: "psql" <[EMAIL PROTECTED]> Sent: Friday, February 13, 2004 12:03 PM Subject: Re: [SQL] How to avoid nulls while writing string for dynamic query > Dnia 2004-02-13 05:53, Użytkownik Kumar napisał: > > > I am having problem there. see what happens > > > > sqlstr := 'insert into test(c1, c2) values ('||COALESCE(rec.c1,'NULL')||',' > > ||'\''||rec.c2||'\')'; > > You are preparing a string, so make sure you have strings everywhere: > sqlstr := 'insert into test(c1, c2) values > ('||COALESCE(rec.c1::text,'NULL')||','||'\''||rec.c2||'\')'; > > Regards, > Tomasz Myrta ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend