gpt4 book ai didi

oracle - 2157 年 2 月 31 日这个日期有何意义?

转载 作者:行者123 更新时间:2023-12-02 11:35:40 25 4
gpt4 key购买 nike

我在大型 IT 支持环境中工作。现在我们已经两次看到无效日期 02/31/2157 被插入到 Oracle DATE 列中。到目前为止,我还无法重现此问题,但当用户尝试将“00/00/0000”保存到列中时,它似乎偶尔会发生。我相信该值源自 PowerBuilder DataWindow 更新。

该应用程序使用无数的库来实现各种技术,所以这个问题可能有点模糊,但是......

有没有人在某个已建立的库中看到日期 02/31/2157,当输入其他无效日期时 Oracle 可能会默认该日期?也许是类似于 1970 年 1 月 1 日的时间开始日期的时间结束概念?

最佳答案

来自http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i1847

Oracle uses its own internal format to store dates. Date data is stored in fixed-length fields of seven bytes each, corresponding to century, year, month, day, hour, minute, and second.

2157-256 = 1901,这似乎可疑地接近可能的纪元 1/1/1900(或 12/13/1901 - 这是 Year 2038 Problem 的滚动日期)

我猜测它在日期字节中存储 0x00 或 0xFF,然后在解码时感到困惑。 (它如何处理 255 月份?)

关于oracle - 2157 年 2 月 31 日这个日期有何意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4659187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com