【问题标题】:Oracle TimeStamp update/insert year interpretOracle 时间戳更新/插入年份解释
【发布时间】:2013-05-10 14:59:12
【问题描述】:

如果我要使用以下内容对 TimeStamp 列进行更新/插入,我在 Oracle 中的想法是否正确......

UPDATE tblBlah set TimeStampColumn = to_timestamp('01-01-99 12:00 AM', 'MM/DD/YY HH:MI AM')

Oracle 会将这一年解释为已经发生的年份,即 1999 年,而不是未来的 2099 年?

【问题讨论】:

标签: sql database oracle timestamp


【解决方案1】:

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; 如果年份 >=50 并且 当前年份的最后 2 位为

Example at SQL Fiddle.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    相关资源
    最近更新 更多