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

时间:2013-06-20 05:47:13

标签: oracle date time

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

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

我认为问题出在12:56,但Oracle文档说date表示日期和时间。

4 个答案:

答案 0 :(得分:21)

也许您应该检查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.'));

此外,Oracle DATE日期时间信息存储在一起。

答案 1 :(得分:7)

你需要改变会话

你可以在插入

之前尝试
 sql : alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'

答案 2 :(得分:2)

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

insert into table t1 (id, date_field) values (1, to_date('20.06.2013', 'dd.mm.yyyy'));

答案 3 :(得分:1)

我今天遇到此错误,发现那是格式错误的年份...

select * from es_timeexpense where parsedate > to_date('12/3/2018', 'MM/dd/yyy')

请注意,年份只有三个“ y”。它应该有4。

仔细检查您的格式。