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

2025-01-04 11:50:10
推荐回答(3个)
回答1:

插入数据是: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个变量如果没有,你可以新建

之后,就肯定好了

回答2:

插入数据时使用to_date(插入的值,定义日期格式比如yyyymmdd hh24:mi:ss)函数

回答3:

日期格式特麻烦,要注意格式转换,如
INSERT INTO table_name ( "DT_BEGIN")
VALUES (TO_DATE('24-02-2009 00:00:00','DD-MM-YYYY HH24:MI:SS') ) ;