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个字节了。