Literal vs parameterized 'timestamp with time zone' value
От | Christopher Hunt |
---|---|
Тема | Literal vs parameterized 'timestamp with time zone' value |
Дата | |
Msg-id | 094DD6D8-B500-479F-B730-0BFCC256A5DE@internode.on.net обсуждение исходный текст |
Ответы |
Re: Literal vs parameterized 'timestamp with time zone' value
Re: Literal vs parameterized 'timestamp with time zone' value Re: Literal vs parameterized 'timestamp with time zone' value Re: Literal vs parameterized 'timestamp with time zone' value |
Список | pgsql-jdbc |
Hi there, This one has been baffling me for several hours so I hope that the list can help. I'm having an awful difficulty specifying a parameter in a select where clause of a prepared statement. Please consider this schema: Table "public.moving_object_status" Column | Type | Modifiers --------------+-----------------------------+----------- validtime | timestamp(2) with time zone | not null Indexes: "moving_object_status_validtime" btree (validtime) (other columns removed for brevity). If I create the following prepared statement: PreparedStatement sqlStatement = sqlConnection.prepareStatement("select validtime from moving_object_status where validtime < '2005-06-08T20:05:45.825+0'"); then 1 row is returned as I would expect given my dataset. However if I use a parameter: PreparedStatement sqlStatement = sqlConnection.prepareStatement("select validtime from moving_object_status where validtime < ?"); int columnIndex = 1; sqlStatement.setString(columnIndex++, "2005-06-08T20:05:45.825+0"); No rows are returned. Can anyone explain the difference in results given a literal value and a parameterised value in this context? Kind regards, Christopher
В списке pgsql-jdbc по дате отправления: