插入日期型数据错误
有一张表EMP,表结构如下:
SQL> desc emp;
名称 是否为空? 类型
----------------------------------------- -------- ---------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
现插入一条记录
SQL> insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(7903,'
FORD','ANALYST',7566,'03-DEC-81',3000,null,10);
显示错误:
insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(7903,'FORD'
,'ANALYST',7566,'03-DEC-81',3000,null,10)
*
ERROR 位于第 1 行:
ORA-01843: 无效的月份
然后对日期进行了转换,还是有错误
SQL> insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(7903,'
FORD','ANALYST',7566,to_date('03-DEC-81','dd-mm-yy'),3000,null,10);
insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(7903,'FORD'
,'ANALYST',7566,to_date('03-DEC-81','dd-mm-yy'),3000,null,10)
*
ERROR 位于第 1 行:
ORA-01858: 在要求输入数字处找到非数字字符
将03-DEC-81改成03-12-81是好用的,为什么03-DEC-81不好用,如何修改才能使03-DEC-81好用?
问题点数:20、回复次数:3Top
1 楼llm06(blacksheep)回复于 2005-02-28 16:04:27 得分 0
to_date('03-DEC-81')
to_date('03-DEC-81','DD-MON-YY')Top
2 楼zhangsc(爱德华)回复于 2005-02-28 16:16:56 得分 0
上面的方法不好用,
to_date('03-DEC-81')
to_date('03-DEC-81','DD-MON-YY')
*
ERROR 位于第 1 行:
ORA-01843: 无效的月份
Top
3 楼MountLion(闷头睡)回复于 2005-02-28 16:48:42 得分 20
alter session set nls_language=AMERICAN;
alter session set nls_date_format='DD-MON-YY';
然后就可以了。Top




