SQL错误:ORA-01847

时间:2014-04-08 14:45:01

标签: sql oracle date

当我尝试执行以下查询时

insert into TEST (PROCESSING_START_DATE)
values (to_date('05/13/2013','MM/DD/YYYY'));

我收到以下错误

Error report -
SQL Error: ORA-01847: day of month must be between 1 and last day of month
01847. 00000 -  "day of month must be between 1 and last day of month"
*Cause:    
*Action:

PROCESSING_START_DATE的类型为DATE

select dbms_metadata.get_ddl('TABLE', 'TEST') from dual的输出是:

CREATE TABLE "TEST" (
    "PROCESSING_START_DATE" DATE
 SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

1 个答案:

答案 0 :(得分:0)

如果没有触发器或任何涉及的东西,我就是不相信你。我认为这应该独立于任何NLS设置。

这对我有用:

create table HVBTEST (D date);
insert into HVBTEST (D) values (to_date('05/13/2013','MM/DD/YYYY'));

你真的用SQL * Plus直接测试了吗? 或者这是应用程序的一部分而您只是认为您的代码执行此操作?