2

当在 PreparedStatement 中将 Java.Sql.Date 作为绑定变量(我的查询文本中的问号)传递给 nzjdbc.jar 时,我得到:

pg_atoi:“2010-02-01”中的错误:无法解析“-02-01”

是什么赋予了?我认为 JDBC 驱动程序的全部目的是解决这些问题 :(

4

1 回答 1

2

好的,找到了答案,与JDBC无关。

将日期变量传递给 JDBC 时,它所做的只是将其转换为符合 Netezza 日期样式的文字字符串,例如 '2011-11-06 00:00:00'。它不会用 cast 或 to_date 或任何东西包装它。

但是,当您select '2011-11-06 00:00:00' - 30从任何 Netezza 客户端尝试时,您会收到 pg-atoi 解析错误,因为 Netezza 尝试将字符串解析为数字,而不是日期。

解决方案:select cast('2004-02-22 00:00:00.000' as date) - 30 as bla;

它的所有宇宙爱宝贝。

于 2011-01-23T14:26:40.777 回答