(Oracle) 将日期字符串转换为日期时间
(Oracle) convert date string to datetime
当 运行 一个 select 语句时,如何将具有以下格式的日期字符串转换为 datetime
?
2015-06-04T02:58:00.134+08:00
它存储在数据类型为VARCHAR2
(100 BYTE)的列中。
谢谢!
It is stored in a column with data type VARCHAR2(100 BYTE).
首先,你应该永远不要将DATE/TIMSTAMP存储为字符串.这是数据库设计缺陷。
无论如何,您可以将其转换为 TIMESTAMP WITH TIMEZONE。
例如,
SQL> SELECT to_timestamp_tz('2015-06-04T02:58:00.134+08:00',
2 'YYYY-MM-DD"T"HH24:MI:SS.FF TZH:TZM')
3 AT TIME ZONE '+8:00' as tm_stamp
4 FROM dual;
TM_STAMP
-----------------------------------------------------------------
04-JUN-15 02.58.00.134000000 AM +08:00
SQL>
当 运行 一个 select 语句时,如何将具有以下格式的日期字符串转换为 datetime
?
2015-06-04T02:58:00.134+08:00
它存储在数据类型为VARCHAR2
(100 BYTE)的列中。
谢谢!
It is stored in a column with data type VARCHAR2(100 BYTE).
首先,你应该永远不要将DATE/TIMSTAMP存储为字符串.这是数据库设计缺陷。
无论如何,您可以将其转换为 TIMESTAMP WITH TIMEZONE。
例如,
SQL> SELECT to_timestamp_tz('2015-06-04T02:58:00.134+08:00',
2 'YYYY-MM-DD"T"HH24:MI:SS.FF TZH:TZM')
3 AT TIME ZONE '+8:00' as tm_stamp
4 FROM dual;
TM_STAMP
-----------------------------------------------------------------
04-JUN-15 02.58.00.134000000 AM +08:00
SQL>