我试图将一些数据插入表中,我收到了错误消息
Msg 8152,Level 16,State 14,Line 1 String or binary data would be truncated.
现在我知道这是因为尝试插入对于列太大的数据(在这种情况下是VARCHAR(50)),但它让我思考是否可能:
a)看看哪些特定值会被截断(请记住,这可能发生在多列中),也许是通过给出将被截断的所有行的输出?
b)如果在批量插入中有任何方法可以查看每列将被截断的最大输入数据值(因此我可以看到数据存储类型是否实际需要更改,或者是否只有一两个案例会不适合列?)
解决方法
找到有问题的行没有特别令人满意的方法.
This blog post has one solution.(SET ANSI_WARNINGS OFF并插入到临时表中,然后对源使用EXCEPT以查找未成功导入的行)