【问题标题】:ORA-01843 Not a valid monthORA-01843 不是有效月份
【发布时间】:2015-07-04 16:58:16
【问题描述】:

我已经看过大多数关于此错误的主题,但我似乎无法理解人们的意思。但这是我的代码:

create table vehicle
(
v_ID CHAR (10) not null,
v_Model VARCHAR2 (20) not null,
v_manufacterer VARCHAR2 (20) not null,
plate_number CHAR (10) not null,
arive_date DATE  not null,
pickup_date DATE not null
);

这是表,它已被删除/创建 我想在列中插入这些值,但它一直给我错误,我查看了所有其他解决方案,但这与我的有点不同。这可能很简单,但我是 SQL 新手。

INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_Date, pickup_Date) VALUES ('V100','BMW','430i','N-55530','01-02-2015','02-02-2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number. arive_Date, pickup_date) VALUES ('V102','Lexus','LS300','M-33833','11/05/2015','12/05/2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_date, pickup_date) VALUES ('V101',' Mercedes','E350','A-15553','23/04/2015','23/04/2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_date, pickup_date) VALUES ('V104','Nissan','Tiida','O-1885','31/09/2015','03/10/2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_date, pickup_date) VALUES ('V105','Renault','Duster','A-19994','15/04/2015','15/04/2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_date, pickup_date) VALUES ('V106','GMC','Denali','O-60635','22/02/2015','23/02/2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_date, pickup_date) VALUES ('V107','Ford','Explorer','N-51951','11/08/2015','11/08/2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_date, pickup_date) VALUES ('V108','Ford','Mustang','G-33099','28/11/2015','29/11/2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_date, pickup_date) VALUES ('V109','Jeep','Wrangler','O-99199','22/09/2015','24/09/2015');
INSERT INTO vehicle (V_ID, V_Model, V_manufacterer, plate_number, arive_date, pickup_date) VALUES ('V110','Dodge','Charger','E-1370','14/04/2015','14/04/2015');

我尝试将格式更改为每个可能的选项:

04/14/2015 or 2015/04/14 - 2015/14/04 or even Apr-14-2015.

它们似乎都不起作用。

我想要的是插入以下车辆(属于客户)的到达日期和接载日期

谢谢。

【问题讨论】:

    标签: sql oracle date-formatting


    【解决方案1】:

    当您将日期格式化为文本时,请务必明确:使用正确的数据日期/时间格式进行明确的转换。

    to_date('14/04/2015', 'DD/MM/YYYY')
    

    对所有日期输入执行此操作。

    【讨论】:

    • INSERT INTO 车辆(V_ID、V_Model、V_manufacterer、plate_number、arive_date、pickup_date)值('V110'、'Dodge'、'Charger'、'E-1370'、to_date('14/04 /2015', 'DD/MM/YYYY'));如果这是我应该做的,它给了我一个新错误,ORA-0094 - 没有足够的值
    • 嗯,那是因为你没有传递足够的值。您的插入子句中有多少个日期?您的价值列表中有多少个日期?
    • 在每个插入条款中总共有 20 个取货和到达日期。按价值列表我不确定你的意思。从 V100 到 V110,总共 10 个生料,每个生料 2 个。
    • 你在做insert into foo(a,b,c) values (1,2)
    • 你刚才教我的方法是1还是2?因为如果它是 to_date('14/04/2015', 'DD/MM/YYYY') 一个值,我应该在插入子句中的两个日期放两次。
    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多