【问题标题】:Inserting dates before year 1950 in Oracle在 Oracle 中插入 1950 年之前的日期
【发布时间】:2012-09-27 00:06:56
【问题描述】:

我在获取正确日期时遇到问题。当我将日期从一张表复制到另一张表时

insert into table1 select some_date from some_table 

它插入了错误的日期。该问题仅发生在 1950 年之前的日期。在 table1 中,我有日期 1.1.1949,当我将其复制到 some_table 时,我得到日期 2049-1-1

如何获得正确的日期... 1949-1-1?

【问题讨论】:

  • 复制日期时为什么要转换成char?
  • 使用YYYY 而不是RRRR
  • 它曾经只是 some_date 但后来我认为它会有所作为。我会改正的。

标签: sql oracle


【解决方案1】:

你应该使用:

to_char(some_date,'YYYY-MM-DD')

RRRR 是 2 位数年份,假设同一个世纪。在这里阅读:What is the difference between 'YYYY' and 'RRRR' in Oracle SQL

【讨论】:

  • 可能也值得链接到Date Format Models...
  • 你是对的。起初我没有使用 to_char,可能是因为我的 NLS_DATE_FORMAT 设置为 DD.MM.RR 它插入了错误的年份。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
  • 2021-03-29
  • 1970-01-01
相关资源
最近更新 更多