oracle里面建了一张表字段类型为date但是插入数据日期格式为:12-MAN-12时提示月份错误

 我来答
神装法师
2012-04-24 · TA获得超过790个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:322万
展开全部
插入数据是:insert into emp_user values(10,'zhansan','12-MAR-10');

你以前这样写之所以不报错是因为oracle替你进行了转换,将字符串'12-MAR-10'转换成了日期类型。
现在这么写不成了,是因为你的环境变量改变了:
点我的电脑->属性->高级->环境变量->系统变量
把nls_date_format设成dd-mon-rr(我理解12-MAR-10是2010年3月12日,这个格式你可以自己根据实际情况改)
把nls_date_language设成AMERICAN
上面2个变量如果没有,你可以新建

之后,就肯定好了
百度网友3a8f439
2012-04-24 · TA获得超过300个赞
知道小有建树答主
回答量:224
采纳率:100%
帮助的人:160万
展开全部
插入数据时使用to_date(插入的值,定义日期格式比如yyyymmdd hh24:mi:ss)函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csx7634
2012-04-24 · TA获得超过163个赞
知道答主
回答量:63
采纳率:100%
帮助的人:40.7万
展开全部
日期格式特麻烦,要注意格式转换,如
INSERT INTO table_name ( "DT_BEGIN")
VALUES (TO_DATE('24-02-2009 00:00:00','DD-MM-YYYY HH24:MI:SS') ) ;
追问
我建表是这样:create table emp_user(
empno number(4),
ename varchar2(30),
hiredate date
);
插入数据是:insert into emp_user values(10,'zhansan','12-MAR-10');
在PL/SQL工具里面执行提示错误是:ORA-01843:无效的月份 以前这样写 就可以的啊??现在为什么不行了??求解答!!不胜感激
追答
这样应该就可以了,使用ORACLE的日期转换函数:to_date。
insert into emp_user values(10,'zhansan',TO_DATE('2012-03-10 00:00:00','YYYY-MM-DD HH24:MI:SS'));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式