如果我要使用以下内容对 TimeStamp 列进行更新/插入,我在 Oracle 中的想法是否正确……
UPDATE tblBlah set TimeStampColumn = to_timestamp('01-01-99 12:00 AM', 'MM/DD/YY HH:MI AM')
Oracle 会将这一年解释为已经发生的年份,即 1999 年,而不是未来的 2099 年?
YY
将取最后两位数字并覆盖当年的数字。
select to_timestamp('01-01-99 12:00 AM', 'MM/DD/YY HH:MI AM') from dual
-->
January, 01 2099 00:00:00+0000
改用RR
:
select to_timestamp('01-01-99 12:00 AM', 'MM/DD/RR HH:MI AM') from dual
-->
January, 01 1999 00:00:00+0000
RR
将要:
给定一个有 2 位数字的年份,如果该年份 <50 并且当前年份的最后 2 位数字 >=50,则返回下一个世纪的年份;如果年份 >=50 并且当前年份的最后 2 位数字 <50,则返回上一世纪的年份。