免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2175 | 回复: 2
打印 上一主题 下一主题

oracle 插表的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-06 15:51 |只看该作者 |倒序浏览
我在我的机器上装了一个oracle9,,机器的OS是2003。于是我就建立了一个表,表中有个字段是DATE型的,我想在该表中插入一个oracle 默认的日期类型“DD-MON-YY”的数值时,例如06-Jun-05,oracle报“ORA-01843: 无效的月份”,于是我就用到了to_date ,可是还是报一样的错。于是我就执行了select to_char(sysdate) from dual;得到的结果居然是“06-3月-07”,可我想得到的是“06-Mar-07”这样的东东。最后我在SQL中将06-Jun-05改为06-6月-05,问题解决,连to_date都没用,天啊,这是什么回事,是不是我的2003是中文版的缘故,所以导致字符集出问题了,可是这种问题怎么解决啊。望DX们能给点解决办法?我查了props$好像也没有问题。

论坛徽章:
0
2 [报告]
发表于 2007-03-06 21:39 |只看该作者
确保客户端 NLS_LANG = AMERICAN_AMERICA.UTF8

SQL> SELECT *
  2  FROM V$NLS_PARAMETERS
  3  where parameter = 'NLS_DATE_FORMAT';

PARAMETER
----------------------------------------------------------------------
VALUE
----------------------------------------------------------------------
NLS_DATE_FORMAT
DD-MON-RR


SQL> select to_date(sysdate,'dd-mon-rr') from dual;

TO_DATE(SYSDATE
---------------
06-MAR-07

论坛徽章:
0
3 [报告]
发表于 2007-03-07 16:18 |只看该作者
改客户端语言设置
或者
插入日期数据不要用单词(Mar)表示,to_date('20070307','yyyymmdd')即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP