【问题标题】:Oracle SQL Date FormatOracle SQL 日期格式
【发布时间】:2015-01-20 16:35:57
【问题描述】:

我一直在尝试将以下 varchar 转换为日期格式,但没有成功:

12/99
01/04 

我试过 to_char(mydate, 'mm/yy') 这给了我错误。即使我错过了这一天,有没有办法将其转换为日期格式?

【问题讨论】:

  • 所以你有一个 DATE 类型,你想只显示月、年?
  • 是的,这就是它在 Access db 中的输入方式,我正在尝试将数据迁移到 Oracle。我尝试了 to_char(to_date(mydate, 'mm/yy'))。但是有些年份是不正确的,例如 99 最终是 2099 而不是 1999。

标签: sql oracle datetime


【解决方案1】:

您可以使用 RR 格式表示年份:

select to_date('12/99','mm/rr') from dual --01/12/1999
select to_date('01/04','mm/rr') from dual --01/01/2004

这种格式获取 1950 年到 2049 年之间的年份。

【讨论】:

  • 而当当前年份是2050年时,它会给你不同的结果; 12/99 将为您提供 2099 年 12 月 1 日,01/04 将为您提供 2150 年 1 月 1 日。
  • 如果他们在 2050 年执行同样的代码,他们会遇到更严重的问题。
猜你喜欢
  • 2013-07-02
  • 2014-11-21
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 2013-11-27
  • 1970-01-01
  • 1970-01-01
  • 2015-02-21
相关资源
最近更新 更多