我在Oracle Application Express中創建了一個數據庫,並且在向其中一個表中插入日期時遇到問題。Oracle Application Express - 僅在一個表中存在'ORA-01843:不是有效的月份錯誤'
INSERT INTO VIEWING(VIEWING_ID, VIEWING_DATE, TIME, PROPERTY_ID, AGENT_ID)
VALUES('3', '12-07-2015' ,'10:00','1', '101');
我試過日期格式的每個組合,並試圖之日起生效,以我的正確格式
to_date('12-07-2015','MM-DD-YYYY')
但沒有什麼工作
CREATE TABLE Viewing (
Viewing_ID number(10) NOT NULL,
Viewing_Date date NOT NULL,
Time timestamp(7) NOT NULL,
Property_ID number(10) NOT NULL,
Agent_ID number(10) NOT NULL,
PRIMARY KEY (Viewing_ID));
ALTER TABLE Viewing ADD CONSTRAINT FK_Viewing_Agent_ID FOREIGN KEY (Agent_ID) REFERENCES Agent (Agent_ID);
ALTER TABLE Viewing ADD CONSTRAINT FK_Viewing_Property_ID FOREIGN KEY (Property_ID) REFERENCES Property (Property_ID);
的每一個資源,我發現表明它很可能是解析或語法錯誤,但至今沒有任何幫助。
我有架構中的第二張表,我可以插入日期到沒有問題,唯一的區別是該日期是必需的(我已經嘗試使它可以爲空來測試,我仍然得到相同的錯誤)
我應該指出,我對Oracle來說是全新的,這是一個研究項目的一部分。如果我有我的選擇,我會使用SQL Server!但我一直在這個小時,並認爲它的時間承認失敗!
感謝
什麼是在數據庫中的日期格式?當你從'dual'選擇sysdate時返回什麼? –
嗨,12/10/2015已退回,對不起,我應該提到這一點! – Verno
順便說一下,'timestamp'和'date'都包含日期**和**時間。不同之處在於'date'是整秒精度,'timestamp'支持小數秒精度。除了查看時間之外的一段時間,「時間」可能會最好用'viewing_datetime timestamp(7)'代替'viewing_date'。 –