Oracle String to Date" 2013-10-15T20:12:56.24584 + 0100"
问题描述:
我有一个TIMESTAMP字符串,需要在Oracle中转换为日期时间,我尝试了几种格式掩码,但失败了,知道吗?
I got a TIMESTAMP string, need to convert in Oracle to datetime, I try several format mask but fail, any idea?
to_timestamp('2013-10-15T20:12:56.24584+0100','YYYY-MM-DDTHH24:MI:SS.SSSSSTZHTZM')
答
要正确处理此问题,您应该:
To get this right, you should:
- 使用
TO_TIMESTAMP_TZ
函数. - 使用
FF
格式表示秒,而不用SSSSS
. - 将文字
T
括在这样的引号中:"T"
.
- Use
TO_TIMESTAMP_TZ
function. - Use
FF
format for fractional seconds instead ofSSSSS
. - Enclose the literal
T
in quotation marks like this:"T"
.
这有效:
SELECT
TO_TIMESTAMP_TZ('2013-10-15T20:12:56.24584+0100','YYYY-MM-DD"T"HH24:MI:SS.FFTZHTZM')
FROM dual;