消息 220,级别 16,状态 1,第 1 行
发生数据类型 smallint 的算术溢出错误,值 = -2147483557。
语句已终止。
合并两个表,出现错误,刚开始没注意,注意力全部集中在数据本身,排除哪些数据有问题。
结果最后对比两个库的表字段,发现其中一个带插入字段是smallint,存数据表的字段是int才产生此错误。虽然数据最大才9998,但是插入smallint就是报错。。。奇怪。。
想用cast或者convert转换到smallint再插入,调试发现,select就报错了。
用min,max看这个栏位。原来是有个垃圾数据这栏位=-2147483557,真实恶心。避免其他的分库有问题,我用函数屏蔽这个垃圾值为0。
原文链接:https://blog.csdn.net/chengg0769/article/details/140509376