【问题标题】:Convert a string date into datetime in Oracle在 Oracle 中将字符串日期转换为日期时间
【发布时间】:2011-12-16 18:20:57
【问题描述】:

如何在 oracle 中将此字符串日期转换为日期时间。

2011-07-28T23:54:14Z

使用此代码会引发错误:

TO_DATE('2011-07-28T23:54:14Z',  'YYYY-MM-DD HH24:MI:SS')

如何做到这一点?

Error report:
SQL Error: ORA-01861: literal does not match format string
01861. 00000 -  "literal does not match format string"
*Cause:    Literals in the input must be the same length as literals in
           the format string (with the exception of leading whitespace).  If the
           "FX" modifier has been toggled on, the literal must match exactly,
           with no extra whitespace.
*Action:   Correct the format string to match the literal.

更新:-

TO_DATE('2011-07-28T23:54:14Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')

我在列中只看到日期而不是时间

28-JUL-11

【问题讨论】:

  • 你的格式没有T和Z字母,还是我错了?尝试解析 2011-07-28 23:54:14,如果可以通过,则使用正则表达式对输入字符串进行规范化。
  • @p.campbell 但就我而言。字符串日期的格式与 t 和 z 不同,所以有什么方法可以直接将其转换为日期时间格式。或者我必须解析它以使其更清晰,然后将其转换为日期时间格式..

标签: sql oracle ora-01861


【解决方案1】:

试试这个: TO_DATE('2011-07-28T23:54:14Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')

【讨论】:

  • 它工作正常.. 但我只在 oracle 表中看到日期而不是时间.. 我得到的结果是 28-JUL-11 不是我想要的确切方式.. 为什么会这样发生?我将 dataType 声明为日期。
  • @RaihanJamal,这只是日期的默认格式。时间实际上也存储在该字段中。您可以使用 TO_CHAR 方法查看它。
  • 这个语法有什么问题TO_DATE('2011-10-25 21:48:01.585', 'YYYY-MM-DD HH24:MI:SS')
  • 看起来它的时间也有毫秒。如果此格式与 OP 中的项目在同一数据集中,则需要遵循之前给出的标准化数据的建议。
  • @lining,应该是TO_DATE('2011-10-25 21:48:01.585', 'YYYY-MM-DD HH24:MI:SS.FF3'),FFn可能有n=1..9,取决于你的小数位数。
【解决方案2】:

嘿,我遇到了同样的问题。我试图将 '2017-02-20 12:15:32' varchar 转换为 TO_DATE('2017-02-20 12:15:32','YYYY-MM-DD HH24:MI:SS') 的日期,我收到的只是 2017-02-20 时间消失了

我的解决方案是使用 TO_TIMESTAMP('2017-02-20 12:15:32','YYYY-MM-DD HH24:MI:SS') 现在时间不会消失。

【讨论】:

  • 这可能只是因为您的 SQL 客户端的显示格式。 Oracle DATE 也可能包含时间,因此TO_DATE 不一定会删除时间部分。
【解决方案3】:

您可以使用强制转换来查看日期结果

 select to_char(to_date('17-MAR-17 06.04.54','dd-MON-yy hh24:mi:ss'), 'mm/dd/yyyy hh24:mi:ss') from dual;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-17
    • 2014-05-24
    • 1970-01-01
    • 2015-04-25
    • 2021-05-31
    • 2019-04-12
    • 2011-09-08
    • 2015-03-24
    相关资源
    最近更新 更多