当我运行的更新/插入语句特定表我返回以下错误:MS SQL - 截断误差
* ERROR 8152 *(RC-1):SQLSTATE = 22001 Microsoft SQL Server本客户端10.0 字符串或二进制数据将被截断。
我已经通过手动我尝试更新,看看是否有比允许的列最大VARCHAR更大的值,并且每个使用下面的脚本无法找到任何表了:
select max(len(COLUMN_NAME)) from TABLE_NAME
有没有办法查询数据库的所有列中的值是否超出了列的最大允许字符数?
显示更新/插入查询。这实际上是必不可少的部分 –
您正在寻找错误的地方 - 您正在寻找太大的_existing_数据。你需要看看什么数据被添加到表中。查看'UPDATE' /'INSERT'语句和那里的值。 –
太大而无法放入列的数据将不在列中,因为它对于列来说太大您的UPDATE或INSERT语句将数据加载到表中,而且它所加载的数据包含数据那太大了。 [这也是从MS Sql服务器](https://connect.microsoft。com/SQLServer/feedback/details/339410 /),它只是告诉你一些太大的东西,甚至不会告诉你哪一列太大了。自2008年以来,他们一直想要解决它。 – JNevill