加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 日期的重要性02/31/2157?

发布时间:2021-02-27 21:31:25 所属栏目:百科 来源:网络整理
导读:我在大规模的IT支持环境中工作.现在两次我们看到在Oracle DATE列中插入了无效日期02/31/2157.到目前为止,我还没有能够重现这个问题,但是当用户试图将’00 / 00/0000’保存到列中时,它似乎偶尔会发生.我相信这个价值来自PowerBuilder DataWindow更新. 该应

我在大规模的IT支持环境中工作.现在两次我们看到在Oracle DATE列中插入了无效日期02/31/2157.到目前为止,我还没有能够重现这个问题,但是当用户试图将’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个月?)

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读