什么是时区的Oracle日期格式掩码?

dac*_*cot 5 oracle formatting date mask

我需要从外部源插入一个日期格式,其中包括时区的三个字母代码,但TZD格式化掩码似乎不起作用...

insert into blah
    values (to_date('Thu, 18 Feb 2010 08:37:00 EST','Dy, DD Mon YYYY HH24:MI:SS TZD'));

ORA-01821: date format not recognized
Run Code Online (Sandbox Code Playgroud)

如果我删除"TZD"......

insert into blah
    values (to_date('Thu, 18 Feb 2010 08:37:00','Dy, DD Mon YYYY HH24:MI:SS'));

1 row created.
Run Code Online (Sandbox Code Playgroud)

Oracle中这种insert语句的正确掩码是什么?

desc blah
 Name                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 D                          DATE
Run Code Online (Sandbox Code Playgroud)

编辑:我将表列从DATE类型更改为TIMESTAMP类型并得到相同的错误.

Ada*_*sch 6

日期列没有时区作为选项.你必须创建列数据类型TIMESTAMP WITH TIME ZONETIMESTAMP WITH LOCAL TIME ZONE,此外,该TO_DATE功能并不了解你申请的时区格式掩码.

SQL> CREATE TABLE T
  2  (DT DATE,
  3   TS TIMESTAMP,
  4   TSTZ TIMESTAMP WITH TIME ZONE,
  5   TSLTZ TIMESTAMP WITH LOCAL TIME ZONE);

Table created.

SQL> INSERT INTO T (TSLTZ) VALUES 
  2  (to_timestamp_tz('Thu, 18 Feb 2010 08:37:00 EST','DY, DD Mon YYYY HH24:MI:SS TZD'))
  3  /

1 row created.

SQL> INSERT INTO T (TSTZ) VALUES 
  2  (to_timestamp_tz('Thu, 18 Feb 2010 08:37:00 EST','DY, DD Mon YYYY HH24:MI:SS TZD'))
  3  /

1 row created.
Run Code Online (Sandbox Code Playgroud)