oracle添加语句报无效的月份

insertintocustomers(customer_id,first_name,last_name,dob,phone)values(6,'Fred','Brown... insert into customers(customer_id ,first_name,last_name,dob ,phone ) values(6,'Fred','Brown','05-FEB-1968','800-555-1215');
书上面写的语句,我在pl/sql中执行报无效的月份?求大神说一下原因、
使用下面的两种方式都可以
insert into customers(customer_id ,first_name,last_name,dob ,phone ) values(6,'Fred','Brown',to_date('1968-02-05','yyyy-mm-dd'),'800-555-1215');
insert into customers(customer_id,first_name,last_name,dob,phone) values(7,'Steve','Purple',DATE '1972-10-25','800-555-1215');
展开
 我来答
一生何求Jerry
2013-08-12 · TA获得超过495个赞
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:205万
展开全部
'05-FEB-1968' 这个在oracle中是按字符串来处理的,而你的字段类型是date,所以类型不匹配,故而报错。而加上date或者to_date就是把数据转换成日期类型,所以就可以插入了~
百度网友0319a0e
2013-08-12 · TA获得超过2.2万个赞
知道小有建树答主
回答量:2080
采纳率:85%
帮助的人:1150万
展开全部
和你设置的字符集有关了,你安装的是中文简体的吧,那么日期的格式可能是 12-八月-13
最好是自己to_date设置格式就没有问题了 to_date('2013-08-07','yyyy-mm-dd')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SK6856176
2013-08-12
知道答主
回答量:3
采纳率:0%
帮助的人:5.1万
展开全部
你的客户端系统里是不是装的中文环境啊?select sysdate from dual 跑一下这个语句就知道是不是中文环境了,实在不行就把日期都改成数字就好了
追问
select sysdate from dual;返回的结果是2013/8/12 11:28:13
追答
进入注册表
Regedit.exe--HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0/NLS_LANGUAGE
如果是默认安装oracle的话,NLS_LANGUAGE这一项的值应该是SIMPLIFIED CHINESE_CHINA.ZHS16GBK(属于中文环境)
双击修改其值为:AMERICAN_ AMERICA.ZHS16GBK (英文环境)
重启数据库问题解决。可以试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式