Hello Roberto, On Fri, 2017-02-10 at 16:43 -0500, Roberto Balarezo wrote: > Hi Rob, > > Thanks for your answer. The query is just an example I made to > illustrate the problem. In the database I'm working with, duedate is > a timestamp without timezone column, which can contain null values. > The parameter is supposed to be of type DATE. From Java, I'm sending > a Date object (which contains no timezone information, so the driver > should not have problem with this). So if the field duedate has a > null value, a default date with one day added is returned. > I read that the driver has problems with timestamp columns, because > it cannot tell the server if it is a timestamp with or without > timezone, but dates should not present this problem. The server > should know it is of DATE type. > > PS: I have changed the code of the application to send the value > (defaultDate + 1 day) calculated in the application and sent this as > a parameter to make it work, but there are many queries like this and > I would like to know why it happens and if I can make it work > changing the query and not the code. > If the column duedate is defined as a timestamp, then setDate is not the answer. java.sql.Date is just a "date". java.util.Date is a timestamp object but from 1.8 onwards it is pretty well deprecated in favour of the Calendar methods. You can of course have 0:0:0 as the time part. All I can suggest is a spot of reading the docs about Calendar and formatting your (defaultDate + 1) as a timestamp. HTH, Rob -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general