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

前端之家收集整理的这篇文章主要介绍了oracle – 日期的重要性02/31/2157?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在大规模的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个月?)

猜你在找的Oracle相关文章