在Oracle中将字符串日期转换为datetime

ars*_*nal 22 sql oracle ora-01861

如何在oracle中将此字符串日期转换为datetime.

2011-07-28T23:54:14Z
Run Code Online (Sandbox Code Playgroud)

使用此代码会引发错误:

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

如何才能做到这一点?

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.
Run Code Online (Sandbox Code Playgroud)

更新: -

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

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

28-JUL-11
Run Code Online (Sandbox Code Playgroud)

For*_*lon 45

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

  • @RaihanJamal,这只是日期的默认格式.时间实际上也存储在该字段中.您可以使用TO_CHAR方法查看它. (8认同)
  • 这个语法 `TO_DATE('2011-10-25 21:48:01.585', 'YYYY-MM-DD HH24:MI:SS')` 有什么问题 (2认同)