
Oracle字符集系列
annicybc
这个作者很懒,什么都没留下…
展开
-
字符集问题的初步探讨(二)--数据库的字符集
2. 数据库的字符集 字符集在创建数据库时指定,在创建后通常不能更改,所以在创建数据库时能否选择一个正确的字符集就显得尤为重要。 在创建数据库时,我们可以指定字符集(CHARACTER SET)和国家字符集(NATIONAL CHARACTER SET)。字符集用来存储: CHAR, VARCHAR2, CLOB, LONG等类型数据 用来标示诸如表名、列名以及PL/S转载 2006-07-21 16:55:00 · 1159 阅读 · 0 评论 -
字符集问题的初步探讨(四)-- 导入导出及转换
4. 导入导出及转换 导入导出是我们常用的一个数据迁移及转化工具,因其导出文件具有平台无关性,所以在跨平台迁移中,最为常用。在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置。NLS_LANG参数由以下部分组成: NLS_LANG=_.转载 2006-07-21 16:59:00 · 1214 阅读 · 0 评论 -
字符集问题的初步探讨(七)--关于字符集更改的内部操作
这部分并未包含于itpub技术丛书《Oracle数据库DBA专题技术精粹》中,是后来补充的内容. 前面我们提到,通过修改props$的方式更改字符集在Oracle7之后是一种极其危险的方式,应该尽量避免。我们又知道,通过ALTER DATABASE CHARACTER SET更改字符集虽然安全可靠,但是有严格的子集和超集的约束,实际上我们很少能够用到这种方法。实际上Oracle还存在另外一转载 2006-07-21 16:49:00 · 913 阅读 · 0 评论 -
字符集问题的初步探讨(一)--字符集的基本知识
Oracle全球支持(即Globalization Support)允许我们使用本地语言和格式来存储和检索数据。通过全球支持,Oracle可以支持多种语言及字符集,得以展示数据库的强大魅力。由于不同语言及字符集的共同存储存在设置上具有一定的复杂性,字符集一度成为普遍困扰大家的一个主要问题。本文试图就一些常见问题进行探讨,希望可以把一些实际经验共享给大家!1. 字符集的基本知识如果从头说原创 2006-07-21 16:52:00 · 995 阅读 · 0 评论 -
字符集问题的初步探讨(三)--字符集的更改
2. 字符集的更改 数据库创建以后,如果需要修改字符集,通常需要重建数据库,通过导入导出的方式来转换。我们也可以通过以下方式更改 ALTER DATABASE CHARACTER SET转载 2006-07-21 16:56:00 · 1194 阅读 · 0 评论 -
字符集问题的初步探讨(五)----如何识别导出文件的字符集
我们知道在导出文件中,记录着导出使用的字符集id,通过查看导出文件头的第2、3个字节,我们可以找到16进制表示的字符集ID,在Windows上,我们可以使用UltraEdit等工具打开dmp文件,查看其导出字符集:: 在Unix上我们可以通过以下命令来查看: cat expdat.dmp |转载 2006-07-21 17:00:00 · 1700 阅读 · 0 评论 -
字符集问题的初步探讨(六)--乱码的产生
最后我们来讨论一下乱码的产生。 通常在我们的现实环境中,存在3个字符集设置。第一: 客户端应用字符集(Client Application Character Set)第二: 客户端NLS_LANG参数设置第三: 服务器端,数据库字符集(Character Set)设置 我们说,一个字符在客户端应用(比如SQLPLUS,CMD,NOTEPAD等)中以怎样的字符显示取决于转载 2006-07-21 17:01:00 · 1112 阅读 · 0 评论 -
Oracle 10g正则表达式
ORACLE终于在10G中提供了对正则表达式的支持,以前那些需要通过LIKE来进行的复杂的匹配就可以通过使用正则表达式更简单的实现。ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE原创 2008-04-10 13:35:00 · 11555 阅读 · 1 评论 -
判断Oracle字段中是否存在中文《asciistr函数》
Oracle里面如何识别存储字段里面是否存在中文,方法有二:1、使用length和lengthb,如果中文的话length是一个字符,但是lengthb是两个字节。但是这个方法不适合数据库字符集非gbk的情况。select * from t where length(c1) != lengthb(c1); 2、使用asciistr函数得出是否字段里面包含“/”,因为当中文字符转换为原创 2009-02-23 19:16:00 · 4955 阅读 · 0 评论