首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用db2jcc的sql子字符串

使用db2jcc的sql子字符串
EN

Stack Overflow用户
提问于 2013-12-09 08:35:13
回答 1查看 598关注 0票数 0

我有一个SQL,它试图从日期值中减去天数。这个SQL也必须在Oracle和DB2数据库中工作,我用db2jcc 10.5.0.1从db2jcc调用它。这个电话抛出了这个异常:

代码语言:javascript
复制
09:25:17 ERROR (out) com.ibm.db2.jcc.am.SqlException: [jcc][1083][10400][3.66.46] Illegal conversion: can not convert from "java.sql.Date" to "java.lang.Integer" ERRORCODE=-4474, SQLSTATE=null
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.dd.a(dd.java:725)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.dd.a(dd.java:60)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.dd.a(dd.java:94)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.gc.a(gc.java:585)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.gc.a(gc.java:1338)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.gc.a(gc.java:1314)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.po.a(po.java:2426)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.po.Fc(po.java:5722)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.po.b(po.java:4078)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.po.b(po.java:4536)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.po.gc(po.java:739)
09:25:17 ERROR (out)    at com.ibm.db2.jcc.am.po.executeQuery(po.java:708)

我使SQL和java代码更简单,但它仍然抛出异常:

代码语言:javascript
复制
PreparedStatement pstmnt = connection.prepareStatement("select ? - 1 from dual");<br>
pstmnt.setDate(1, new Date(2013, 12, 07));<br>
ResultSet rs = pstmnt.executeQuery();<br>

这对我来说很奇怪,因为这个SQL仍然有效:

代码语言:javascript
复制
  `SELECT TO_DATE('1979-01-01','YYYY-MM-DD') -1 FROM dual` 

是普通的司机问题,还是我漏掉了什么?

编辑:

我在TO_CHAR中使用这个日期,如下所示:

代码语言:javascript
复制
 `SELECT TO_CHAR((CURRENT_TIMESTAMP -1 DAYS),'YYYY') FROM DUAL;`

这在Oracle中是不可用的。我用另一种方式解决了这个问题,但我仍然对答案感兴趣。

EN

回答 1

Stack Overflow用户

发布于 2013-12-09 09:26:34

您需要在日期计算中使用间隔单元名称。

示例

代码语言:javascript
复制
current date + 1 YEAR 
current date + 3 YEARS + 2 MONTHS + 15 DAYS 
current time + 5 HOURS - 3 MINUTES + 10 SECONDS

CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS

http://www.ibm.com/developerworks/data/library/techarticle/0211yip/0211yip3.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20466316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档