【问题标题】:I want to convert the string 20/01/2017 10:46:19 AM to 2017-01-20 10:46:19 AM in Oracle.我想在 Oracle 中将字符串 20/01/2017 10:46:19 AM 转换为 2017-01-20 10:46:19 AM。
【发布时间】:2017-03-09 19:29:09
【问题描述】:

我想转换一个字符串,比如

20/01/2017 10:46:19 AM 

2017-01-20 10:46:19 AM 

在甲骨文中。有什么想法吗?我尝试使用 to_date 和 to_timestamp 但它不起作用!

【问题讨论】:

  • 您是如何尝试使用这些功能的,为什么它不起作用? (我猜您转换为日期,但没有正确转换回字符串?)您实际上是在尝试将字符串存储为日期吗?

标签: sql oracle


【解决方案1】:

转换为 date to_date() 然后转换为 char to_char()

to_char(to date('20/01/2017 10:46:19 AM',
                'DD/MM/YYYY HH:MI:SS AM'), 
        'YYYY-MM-DD HH:MI:SS AM')

当然,更大的问题是为什么要将日期存储为字符串...

【讨论】:

  • 谢谢...我从之后在 Oracle 中转换的文件中获取字符串值...我需要将该值格式化为 2017-01-20 10:46:19 AM (日期或字符串)以供进一步处理。
  • @Rahul 有道理,但我建议如果您要存储到数据库,请将其存储为日期
  • 实际上,我在 Oracle 数据集成器中使用此代码,我必须使用转换后的值来生成 XML。因此,我仅将中间 SL 代码用于转换,最终结果将转到 xml :)
猜你喜欢
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-05
  • 1970-01-01
  • 2018-02-13
  • 1970-01-01
相关资源
最近更新 更多