这是我创建表的查询:
create table emp_company (Ename varchar2(20),Cname varchar2(20),Salary number,Jdate date);
insert into emp_company values (&ename,&cname,&salary,&jdate);
Enter value for ename: 'ANIL'
Enter value for cname: 'ACC'
Enter value for salary: 1500.00
Enter value for jdate: '01-05-89'
old 1: insert into emp_company values (&ename,&cname,&salary,&jdate
new 1: insert into emp_company values ('ANIL','ACC',1500.00,'01-05-
insert into emp_company values ('ANIL','ACC',1500.00,'01-05-89')
*
ERROR at line 1:
ORA-01843: not a valid month
我在这里做错了什么?
答案 0 :(得分:0)
如果您不知道数据库的默认日期格式,则应use a mask和to_date()函数,如:
insert into emp_company values ('ANIL','ACC',1500.00,to_date('01-05-89', 'DD-MM-RR'));
另外,我不确定总是如此,但我从未遇到过没有使用'DD-MON-YY'作为默认日期格式的Oracle数据库(所以'01 -MAY-89 “)。
答案 1 :(得分:0)
我假设您可以使用Oracle SQL Developer,您可以从here下载。
您可以定义要使用的日期格式:
ALTER SESSION SET nls_date_format='yyyy-mm-dd';
有了这个,现在你可以执行这样的查询:
SELECT * FROM emp_company WHERE JDate = '2014-02-25'
如果您想更具体,可以像这样定义日期格式:
ALTER SESSION SET nls_date_format='yyyy-mm-dd hh24:mi:ss';