【发布时间】:2021-02-27 15:34:49
【问题描述】:
我正在使用一个使用 jt400 10.5 jar 查询 DB2 数据库的 Grails 应用程序。我们有一个 SQL 语句,它将儒略日期 YYYYDDD 转换为公历日期以显示在网站上。但是,我们最近有一个日期,似乎是任何大于 2040001 的日期都会给出此错误跟踪。
我正在执行的 SQL 就是 DELAPPT 是儒略日期。
date(to_date(VARCHAR_FORMAT(DATE(TIMESTAMP_FORMAT(CHAR(DELAPPT),'YYYYDDD')),'MM/DD/YYYY'), 'MM/DD/YYYY'))
end as "delAppt"
Caused by: java.sql.SQLException: [SQL0181] Value in date, time, or timestamp string not valid.
at
此语句在查询 DB2 的 IBM ACS Run SQL Scripts 应用程序中可以正常使用这些日期,但是通过 JT400 时,当日期达到 2040001 或更大时,它似乎会引发此错误。我在 date(digits(DELAPPT)) 等语句中尝试了几种不同的方法来执行这种转换,但我仍然遇到同样的错误。有什么想法吗?
【问题讨论】:
标签: sql grails groovy db2 ibm-midrange