Oracle 一个中文汉字 占用几个字节,要根据Oracle中字符集编码决定 查看oracle server端字符集
select userenv('language') from dual;
如果显示SIMPLIFIED CHINESE_CHINA.ZHS16GBK,一个汉字占用两个字节;
如果显示SIMPLIFIED CHINESE_CHINA.AL32UTF8,一个汉字占用三个字节.
可以用以下语句查询一个汉字占用的字节长度
select lengthb('你') from dual;//返回2,表示2个字节
select length('你') from dual;//返回1,表示1个字符
字符串类型字段默认的长度是以字节为单位的,具体取决于参数nls_length_semantics 的值(使用show
parameters可以看到这个参数的值),默认是BYTE,也就是以字节为单位的,如果是CHAR则是以字符为单位的。
表的某列可以使用字符为单位吗?
当然可以,比如这样创建即可:create table test_ly(a varchar2(4 char))
这样a列就最多能保存4个字符,而不是4个字节了。
本文详细介绍了如何在Oracle环境中根据字符集编码查询一个中文汉字占用的字节数,包括SIMPLIFIEDCHINESE_CHINA.ZHS16GBK和SIMPLIFIEDCHINESE_CHINA.AL32UTF8两种情况,并解释了字符串类型字段长度单位的设置。
4109

被折叠的 条评论
为什么被折叠?



