Thread: Implicit conversion from string to timestamp
I have some generic code to which I pass a series of values to be inserted into a PostgreSQL table which includes a field which is defined as a timestamp and which I wish to populate with a string of the form "yyyy-MM-dd hh:mm:ss.SSS". Under pg 8 and before this worked fine but now with 8.1 I seem to be getting an exception which reads:- ERROR: column "created" is of type timestamp without time zone but expression is of type character varying All this is done using JDBC (so I suppose it might be a JDBC error). I know that a number of things were tightened up with 8.1, is this one of them? Or should I be asking this on the JDBC list. I had thought that passing strings into timestamps was acceptable. David
David Goodenough <david.goodenough@btconnect.com> writes: > I have some generic code to which I pass a series of values to be inserted > into a PostgreSQL table which includes a field which is defined as a timestamp > and which I wish to populate with a string of the form > "yyyy-MM-dd hh:mm:ss.SSS". Under pg 8 and before this worked fine > but now with 8.1 I seem to be getting an exception which reads:- > ERROR: column "created" is of type timestamp without time zone but expression > is of type character varying > All this is done using JDBC (so I suppose it might be a JDBC error). Check the JDBC archives --- I think you're probably getting burnt by some side effect of the changes they made to use parameterized queries. You have to be a lot more honest now about informing the JDBC driver what datatype your statement parameters really are. regards, tom lane