日期和时间oracle错误

时间:2012-11-22 11:19:03

标签: oracle datetime oracle10g

我试图在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,但它仍会返回相同的错误!帮助!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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')