转换整个输入字符串之前,Oracle日期格式图片结束

Bur*_*ras 13 oracle time date

我的表有两个DATE格式属性,但是,当我尝试插入值时,它会抛出一个错误:日期格式图片在转换整个输入字符串之前结束. 这是我尝试过的代码:

insert into visit
values(123456, '19-JUN-13', '13-AUG-13 12:56 A.M.');
Run Code Online (Sandbox Code Playgroud)

我认为问题在于,12:56但Oracle文档说明date了日期和时间.

nta*_*lbs 23

也许您应该检查NLS_DATE_FORMAT并使用符合格式的日期字符串.或者您可以to_date在INSERT语句中使用函数,如下所示:

insert into visit
values(123456, 
       to_date('19-JUN-13', 'dd-mon-yy'),
       to_date('13-AUG-13 12:56 A.M.', 'dd-mon-yyyy hh:mi A.M.'));
Run Code Online (Sandbox Code Playgroud)

此外,Oracle还将日期和时间信息DATE存储在一起.


afe*_*eef 8

你需要改变会话

你可以在插入之前尝试

 sql : alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'
Run Code Online (Sandbox Code Playgroud)


And*_*nov 5

我认为您尝试插入的不是日期,而是字符串。您需要使用to_date()函数,如下所示:

insert into table t1 (id, date_field) values (1, to_date('20.06.2013', 'dd.mm.yyyy'));
Run Code Online (Sandbox Code Playgroud)