oracle一个中文占几个字节?

来源:互联网 发布:网络电视怎么搜索频道 编辑:程序博客网 时间:2024/04/25 17:16
在创建oracle数据表时,有时针对存储的字符串字段需要明确的定义类型以及长度,这时就需要知道一个汉字在Oracle数据库中具体占用几个字节,
下面我们就来介绍查询的几种方式:

方式一、这个其实和Oracle的配置是相关的,用以下语句查询当前数据库的字符集:

select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET';
可以得到如下结果:
如果value=ZHS16GBK,那么一个汉字占用2个字节,
如果value=AL32UTF8,那么一个汉字占用3个字节(这是Oracle数据库默认的)。

方式二、查看oracle server端字符集

  select userenv('language')from dual;

如果结果是下面这样的,一个汉字就占用两个字节

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

如果结果是下面这样的,那么一个汉字就占用三个字节

SIMPLIFIED CHINESE_CHINA.AL32UTF8

 

方式三、也可以尝试用以下语句查询一个汉字占用的字节长度

selectlengthb('你')from dual;


PS: 方式一和方式二需要的用户权限会高一点

原创粉丝点击