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

ruoxqz4g  于 2023-08-04  发布在  Oracle
关注(0)|答案(5)|浏览(170)

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

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

字符串
我认为问题出在12:56上,但Oracle文档说date意味着日期和时间。

xqk2d5yq

xqk2d5yq1#

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

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日期时间信息存储在一起。

hrirmatl

hrirmatl2#

您需要更改会话
你可以在插入之前尝试

sql : alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'

字符串

oipij1gg

oipij1gg3#

我想你要插入的不是日期,而是一个字符串。你需要使用to_date()函数,像这样:

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

字符串

gcuhipw9

gcuhipw94#

我今天遇到了这个错误,发现这是一个格式不正确的年份...

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

字符串
注意,年份只有三个y。它应该有4。
仔细检查您的格式。

daolsyd0

daolsyd05#

我遇到了一个类似的问题,即转换的查询存在于子查询中。在执行子查询时,它给出了很好的结果,而在执行完整查询时,它无法执行。
因此,我所做的是删除所有其他条件,如空检查和长度检查的主查询和子查询只有日期转换为基础的过滤器。
希望有帮助

相关问题