设为首页 - 加入收藏 PHP编程网 - PHP站长网 (http://www.52php.cn)- 电商,百科,编程,业界,移动互联,5G,云计算,站长网!
热搜: 娱乐 专业 服务 百度
当前位置: 首页 > 站长百科 > 正文

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

发布时间:2021-01-24 03:15 所属栏目:[站长百科] 来源:网络整理
导读:我在大规模的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个月?)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

推荐文章
热点阅读