oracle数据库修改字符集编码 深入Oracle字符集的查看与修改详解?
深入Oracle字符集的查看与修改详解?
oracle服务器和客户端字符集的查找和修改
一、什么是oracle字符集
Oracle字符集是一个字节数据的解释的符号整数集,有大小之分,有相互之间的包容关系。ORACLE意见国家语言的体系结构允许你在用本地化语言来存储,全面处理,检索数据库数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应适应本地化语言和平台。
影响不大oracle数据库字符集最重要的参数是NLS_LANG参数。
它的格式如下:NLS_LANGlanguage_
它有三个组成部分(语言、地域和字符集),每个成分压制了NLS子集的特性。
其中:
Language指定服务器消息的语言,territory指定你服务器的日期和数字格式,charset指定你字符集。如:AMERICAN_AMERICA.ZHS16GBK
从NLS_LANG的组成我们可以猜想,真正引响数据库字符集的其实是第三部分。
因此两个数据库之间的字符集只要第三部分一样的就可以不彼此间导入数据,前面影响的仅仅总是显示信息是中文肯定英文。
二.打开系统数据库字符集
这比较复杂三方面的字符集,
一是oracelserver端的字符集
二是oracleclient端的字符集
三是dmp文件的字符集。
在做数据导入的时候,是需要这三个字符集都完全不同才能错误的导入。
1、去查询oracleserver端的字符集
有很多种方法可以查oracleserver端的字符集,比较非常直观的查询方法是以下这种:
SQLgtselectuserenv(‘language')returningdual
而的的不胜感激:AMERICAN_AMERICA.ZHS16GBK
2、怎么网上查询dmp文件的字符集
用oracle的exp工具导出来的dmp文件也中有了字符集信息,dmp文件的第2和第3个字节记录信息了dmp文件的字符集。假如dmp文件不是太大,比如说只有几M或几十M,可以用UltraEdit再打开(16进制),看第2第3个字节的内容,如0354,后再用100元以内SQL得查它随机的字符集:
SQLgtselectnls_charset_name(need_nu
oracle中如何判断字符串中是否有某一个字符?
instr()selectinstr(0,0,s,1,1)acrosshyper;如果没有能可以找到,直接返回上次会出现s的位置,否则不赶往0
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。