Oracle字段长度的问题

数据导入的时候报错:ORA-12899:列的值太大(实际值:54,最大值:50)

发现字段长度太短了
查询字段长度:
lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节
length(string)计算string所占的字符长度:返回字符串的长度,单位是字符
我们创建字段varchar(50) 这里面的50其实指的是字节长度,所以千万要注意,查询长度的时候要使用lengthb(string)这个函数

PS:
如果字段值中没有中文,则length和lengthb的长度一致,
如果有中文的话,长度不一致,
一个汉字在Oracle数据库里占多少字节跟数据库的字符集有关,
UTF8时,长度为3,GBK时,长度为2.
字符集常见类型:SIMPLIFIED CHINESE_CHINA.ZHS16GBK;SIMPLIFIED CHINESE_CHINA.AL32UTF8

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注