插入 YYYY-MM-DDTHH24:MI:SEC.milliseconds 时间戳到 Oracle

Insert YYYY-MM-DDTHH24:MI:SEC.milliseconds timestamp to Oracle

我需要向 Oracle 中插入以下 date/time 格式:

INSERT INTO mytable (ID, DATETIMEREAD) VALUES (1, TO_TIMESTAMP('2016-06-03T11:28:07.571', 'YYYY-MM-DDTHH24:MM:SS')

我收到以下错误:

ORA-01821: date format not recognized

如何正确地将 ISO 格式(不带时区)插入 Oracle。 DATETIMEREAD 列类型是 TIMESTAMP(6)

T 不是任何 Oracle 时间戳元素。您需要将其用双引号引起来。分钟也是 MI 并且你也错过了第二个面具的分数。这应该可以完成工作:

INSERT INTO mytable (ID, DATETIMEREAD) VALUES (1, TO_TIMESTAMP('2016-06-03T11:28:07.571', 'YYYY-MM-DD"T"HH24:MI:SS.FF3'))