今天遇到:将 varchar 转换为数据类型 numeric 时出现算术溢出错误。
经排查发现,数据库设计的字段的类型为decimal,长度为4,小数位为2。
需要写入的值为100,就会报溢出错误。
实际上原因是:100在decimal类中存储时真正值为:100.00,长度为5。而字段长度定义为4,就溢出了。
也就是说设计数据库字段时,长度是包含小数位的,这是一个低级错误。
今天遇到:将 varchar 转换为数据类型 numeric 时出现算术溢出错误。
经排查发现,数据库设计的字段的类型为decimal,长度为4,小数位为2。
需要写入的值为100,就会报溢出错误。
实际上原因是:100在decimal类中存储时真正值为:100.00,长度为5。而字段长度定义为4,就溢出了。
也就是说设计数据库字段时,长度是包含小数位的,这是一个低级错误。