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