将java.sql.date传递给netezza jdbc驱动程序

时间:2011-01-23 09:53:14

标签: jdbc netezza

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

它是所有宇宙爱宝贝。