Oracle中的默认日期格式是什么?

时间:2014-02-24 14:04:09

标签: sql oracle

这是我创建表的查询:

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

我在这里做错了什么?

2 个答案:

答案 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';