我有一个字符串格式的anb B.
A = 14/01/2007
B = 22:10:39
我尝试插入日期和时间:
SQL = "insert into MyTbl(Tdate,Ttime) value ('" + Convert.ToDateTime(A) + "','" + Convert.ToDateTime(B) + "')";
Run Code Online (Sandbox Code Playgroud)
我有ORA-01843错误,我能做什么?
提前致谢
我是Oracle的新手(我一直在使用MySQL,直到现在)所以这可能是一个愚蠢的问题.但是我创建了这个表(名字不是英文但忽略它,这并不重要):
CREATE TABLE Auta (
id_auto NUMBER(5) UNIQUE NOT NULL,
typ CHAR(10),
specifikacia_typu CHAR(15),
SPZ CHAR(8),
farba CHAR(20),
datum_vyroby DATE,
pocet_miest NUMBER(2),
pociatok_km NUMBER(6),
poplatok_denny NUMBER(4),
poplatok_km NUMBER(2));
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用这个INSERT查询:
INSERT INTO Auta VALUES (
1
,'Audi'
,'A6'
,'KE1-1548'
,'cierna'
,'20-12-2004'
,5
,158749
,1356
,88
);
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
ORA-01843: not a valid month
Run Code Online (Sandbox Code Playgroud)
我使用的日期格式是DD-MM-YYYY.我也试过DD.MM.YYYY,DD/MM/YYYY,我也尝试过像这样的月 - 日转换 - MM-DD-YYYY,MM/DD/YYYY - 仍然是同样的错误.
该怎么办?
当我在oracle 10g中执行此操作时:
select to_date(trunc(SOMEINPUTdATE)) from table1
where to_date(trunc(date_column_timestamp),'MM/DD/YYYY')
>= to_date('03/11/2011' ,'MM/DD/YYYY')
Run Code Online (Sandbox Code Playgroud)
我明白了:ORA-01843: not a valid month如果我改为:'YYYY/MM/DD'那就行了.但是'MM/DD/YYYY'有效格式对吗?