我正在尝试使用to_date将2020-06-03T17:39:26Z
这样的格式的日期字符串转换为Oracle SQL中的日期。我尝试了to_date('2020-06-03T17:39:26Z', 'yyyy-mm-ddThh24:mi:ssZ')
,但这没有用。这个日期格式是什么,似乎有很多问题。但是我找不到关于Oracle SQL的答案?如何忽略T和Z,或者这在某种程度上很重要?基本上我该如何将其转换为日期?
答案 0 :(得分:1)
T和Z将违反类型转换,您需要使用双引号将其格式化
select to_date('2020-06-03T17:39:26Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"') from dual;
您还可以使用子字符串来获取数据值并进行转换,
select to_date(substr('2020-06-03T17:39:26Z', 0, 10), 'YYYY-MM-DD HH24:MI:SS') from dual;
如果需要时间戳记,请在下面使用
select to_date(substr('2020-06-03T17:39:26Z', 0, 10)||substr('2020-06-03T17:39:26Z', instr('2020-06-03T17:39:26Z', 'T')+1,8), 'YYYY-MM-DD HH24:MI:SS') from dual;