因为每次建表的时候都要考虑字段长度问题,每次都要百度一次,而且百度到的结果有些不统一,所以自己实际测试以后写个笔记记录一下,以后忘记直接看自己笔记即可。也希望能帮助到大家
直接说测试结果:oracle中字符串一个中文占用3个长度(包括中文符号)
一个英文字母占用一个长度(包括英文符号和阿拉伯数字)
*char和varchar2都是这个规律
所以建表的时候如果需要存储中文字符时,需要考虑好字符串长度,和代码配合校验字符串长度,避免长度过长导致报错;如果字符串全是中文数据库字段长度应该设置为字符长度的三倍。
1.varchar2
保存中文时,一个中文占用3个长度(包括中文符号)
保存英文时,一个字母占用1个长度(包括英文符号,阿拉伯数字)
2.char
保存中文时,一个中文占用3个长度(包括中文符号)
保存英文时,一个字母占用1个长度(包括英文符号,阿拉伯数字)