【问题标题】:DB2 maximum value for DATE columnDATE 列的 DB2 最大值
【发布时间】:2015-01-14 03:40:25
【问题描述】:

我尝试将日期列的值更新为 2040-04-14,但值变为 2001-01-01

当更新到某个较近的日期时,例如 2013-01-29 那么一切正常吗?

Update policyTable set maturitydate = '2040-04-14' where policynumber='999';

【问题讨论】:

  • This IBM reference 建议您应该像 9999-12-31 一样好,但我推测早期版本的 DB2 可能会在 2038AD 失败
  • 愚蠢的问题,但你为什么需要 2040 年的日期?
  • @MitchWheat:因为 25 年期抵押贷款在 2040 年到期; 40 年的抵押贷款已经超过了 15 年。
  • 也许您应该显示用于更新值的代码。有很多方法可以使事情出错。日期往往比其他类型更麻烦。
  • DB2 什么版本和平台?

标签: sql date db2


【解决方案1】:

如果此问题发生在 2038 年 1 月 20 日,则您遇到 2YK38 错误,您必须升级您的 db2 数据库来修复它。

https://en.wikipedia.org/wiki/Year_2038_problem

如果您在尝试插入 1940 之前或 2039 之后的值时遇到此错误,则必须更改附加“;date format=iso”的主机连接。

https://www.ibm.com/support/pages/date-values-written-null-db2-ios-rbd-data-perspective

问候!

【讨论】:

    猜你喜欢
    • 2017-06-26
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    相关资源
    最近更新 更多