代码改变世界

Oracle定义varchar2()类型存储汉字的长度问题

2016-04-01 10:42  马尔代夫_珍  阅读(334)  评论(0编辑  收藏  举报

 

 

varchar2最大是4000字节,那么就看你的oracle字符集:(select userenv('language') from dual;) 如果字符集是16位编码的,ZHS16GBK,那么每个字符16位,2字节,所以可以容纳2000字符。 如果是32位编码的字符集,那么只能存储 1000个字符。

 

 

例如: varchar(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。不同的是,若输入的不足,则以空格填充。

varchar2(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。

nvarchar2(50)表示该字段类型为nvarchar2,长度为50,不论英文,数字,中文都能存50个。

 

http://www.cnblogs.com/yangxia-test/archive/2013/08/07/3242775.html