为什么我设置varchar2(4000),插入700多个汉字时就说超过长度! varchar2能设置到4000吗? CLOB才4000长度 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还有, 不同字符集, 中文占用字节数是不同的.在GBK里中文占2个字节, 在UTF-8和UTF16AL32里, 中文占3个字节 700多个字是没有问题的,顶多是LENGTHB 就是1600,还远远没有达到4000呢 不知道楼主用的什么语言和驱动根据oracle的文档,thin的jdbc驱动,会根据字符集合决定varchar2的长度,如果不是ascii或者拉丁字符集合,长度的限制就是2000,因为它认为其他字符集都需要两个字节来存储,但是通过jdbc的setString方法时候,驱动会把java的utf-16转换为utf-8,这样英文由两个字节变成一个字节,中文由两个字节变为3个字节,所以2000/3大概就是666个中文字符了。 wully(吃木头长大) 说得真好 wully(吃木头长大) 正解 update 原值加新值的问题 在先等求 数据库查询优化问题 数据的插入 oracle9i数据库装好后(linux系统),如何再新建一个实例 求sql语句 为什么看不到回复?? ORACLE的安装,我该选择哪一个? 关于调用function返回ARRAY的问题 有个小问题需要解决呀!!!! ORACLE9 EXP导出的文件在 在ORACLE8里面不能导入吗 刻录linux版的oracle9i 关于分区表的索引?
根据oracle的文档,thin的jdbc驱动,会根据字符集合决定varchar2的长度,如果不是ascii或者拉丁字符集合,长度的限制就是2000,因为它认为其他字符集都需要两个字节来存储,但是通过jdbc的setString方法时候,驱动会把java的utf-16转换为utf-8,这样英文由两个字节变成一个字节,中文由两个字节变为3个字节,所以2000/3大概就是666个中文字符了。