ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于oracle的字符集:

关于oracle的字符集:

原创 Linux操作系统 作者:laojiu9 时间:2009-02-23 19:18:10 0 删除 编辑

一.oracle的字符集是在oracle数据库创建的时候指定的,一般情况下不能更改,所以在数据库创建的时候应该选择好字符集;

CHARACTER SET US7ASCII

NATIONAL CHARACTER SET AL16UTF16

其中

Characterset:是指数据库中采用的字符集,用于存储数据库中charvarcharlongclob等类型数据;存储sqlpl/sql代码;用来标识表明,列名;

National character set:是指国家字符集,用于存储ncharnvarchar等类型数据;

Oracle的字符集命名规则: ,例如:zhs16gbk

二.字符集文件:字符集文件是在数据库中单独存储,这些文件由环境变量ora_nls指定:

9i$oracle_home/ocommon/nls/admin/data

10g:$oracle_home/nls/data]

可以用locale builder 打开:

 

SQL*Plus: Release 9.0.1.0.1 - Production on 星期一 2 23 18:56:09 2009

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

SQL> conn sys/laojiu as sysdba;

已连接。

SQL> select dump('') from dual;

DUMP('')

---------------------

Typ=96 Len=2: 194,222

SQL> select concat(to_char(194,'xx'),to_char(222,'xx')) from dual;

CONCAT

------

 c2 de

SQL> select to_number('c2de','xxxxx') from dual;

TO_NUMBER('C2DE','XXXXX')

-------------------------

                    49886

SQL> select chr(49886) from dual;

CH

--

三.源数据库字符集(A),导出客户端字符集(B),目标数据库字符集(C),导入客户端字符集(D):(期中客户端的字符集用nls_lang设置)

以上三者字符集在进行数据迁移时候很有用,出现的情况有以下几种;

1.       AC相同:在进行数据库数据的导出导入的时候,将设置成:A=B=C=D

2.       AC不相同:在进行数据库数据的导出导入的时候,若A=B,则D=B,这样转换只在数据端;

3.       Dnls_lang的设置和数据库C相同,那么数据库不经过转换就直接插入数据库中;

4.       Dnls_lang的设置和数据库C不相同,数据要转换后才能插入数据库中。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11782778/viewspace-557496/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 检查点
请登录后发表评论 登录
全部评论

注册时间:2008-08-17

  • 博文量
    30
  • 访问量
    68499