0

我试图在 oracle 中显示日期和时间,其中我已将日期和时间格式更改为:

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY MM DD';
ALTER SESSION SET NLS_DATE_FORMAT = 'HH24:MI:SS';
insert into train 
  values(18103,'2011/apr/30 21:00:00','2011/apr/31 21:00:00','abl','ndl');

但我得到的错误是ORA-01861: literal does not match format string

我也尝试输入日期和时间,2011/04/30 21:00:00但仍然返回相同的错误!帮助!

4

2 回答 2

2

您的 nls_date_format 与您插入的日期字符串的格式不匹配。它应该是:

SQL>ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MON/DD HH24:MI:SS';

session SET altered.

SQL>insert into dat 
    values('2011/apr/30 21:00:00');

1 rows inserted.

SQL>select d from dat;

D                    
----------------------
2011/APR/30 21:00:00
于 2012-11-22T11:37:51.840 回答
0

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY MM DD'; ALTER SESSION SET NLS_DATE_FORMAT = 'HH24:MI:SS';

这些必须结合起来。例如

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY MM DD HH24:MI:SS'

在您的插页上也一定要TO_DATE例如to_date('2011/apr/31 21:00:00', 'yyyy/mon/dd hh24:mi:ss')

于 2012-11-22T11:37:58.423 回答