oracle varchar2字段长度不够问题

目录

1.报错误

2.上网搜了一下字符计算

3.调整oracle字段,改至varchar2(500),保存成功


今天用户反馈bug,数据无法保存。于是把数据拉到本地代码测试跑一遍。可以保存成功。

跑到linux上tail -f,由于有3台节点,只能一台台看,总算拉到日志。

1.报错误

Caused by: java.sql.SQLException: ORA-12899: 列 "GAMC_DCS"."TT_SALE_ORDER_OCR"."CUSTOMER_ADRESS_OCR" 的值太大 (实际值: 101, 最大值: 100)

保存的customer_address_ocr内容是:江西省鹰潭市高新技术产业开发区龙岗片区三纬路北侧、国贸饰品公司东侧鹰潭嘉能实业有限公司二号厂房01011室

2.上网搜了一下字符计算

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

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

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

查询一下数据库编码
select userenv('language') from dual;

长度刚好超过了。

3.调整oracle字段,改至varchar2(500),保存成功

oracle varchar2字段长度不够问题_第1张图片

 

你可能感兴趣的:(MySQL)