oracle字符类型varchar2一个中文占多少字节
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个字节了。