| От | Tom Lane |
|---|---|
| Тема | Re: JDBC 7.4 to 8.1 regression problem |
| Дата | |
| Msg-id | 21246.1152893701@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | JDBC 7.4 to 8.1 regression problem ("Carsten Friedrich" <carsten@dtecht.com.au>) |
| Список | pgsql-jdbc |
"Carsten Friedrich" <carsten@dtecht.com.au> writes:
> I use the following prepared statement:
> final static String SQL= "SELECT " +
> [...]
> " WHERE " +
> [...]
> + " AND service_date <= ?" +
> " and service_date > date ? - interval '365 days'; "
The above is broken code, and always has been: the fact that it failed
to malfunction back in 7.4 was purely accidental. You can only use the
syntax "typename literal" with a literal constant. Instead of "date ?"
use "?::date", or if you want to be fully SQL-spec-compliant write it
out as "CAST(? AS date)".
Actually, it'd probably be better to use "date_trunc('day', ?)" anyway,
since that's what you're trying to achieve with the cast.
regards, tom lane
В списке pgsql-jdbc по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера