什么是SQL Server错误“字符串数据,右截断”的意思,我该如何解决它?

问题描述:

我们正在做我们的网站上一些性能测试,我们得到以下错误很多:什么是SQL Server错误“字符串数据,右截断”的意思,我该如何解决它?

*** 'C:\inetpub\foo.plex' log message at: 2008/10/07 13:19:58 
DBD::ODBC::st execute failed: [Microsoft][SQL Native Client]String data, right truncation (SQL-22001) at C:\inetpub\foo.plex line 25. 

第25行是这样的:

SELECT DISTINCT top 20 ZIP_CODE, CITY, STATE FROM Zipcodes WHERE (ZIP_CODE like ?) OR (CITY like ?) ORDER BY ZIP_CODE 

最后,这是Perl代码。

任何想法?

编辑:这里的问题是,我在zip文件中搜索字符串“74523%”太长。如果他们给出五位数字,我最终不会添加%。

ZIP_CODE提供的参数大于(长度)大于ZIP_CODE的列宽或者为CITY提供的参数大于(长度)大于CITY的列宽。

知道为两个?占位符提供的值会很有趣。

+0

有趣。是的,当我们输入完整的邮政编码时显然会发生。谢谢! – 2008-10-08 17:41:55

我围绕这一问题得到了通过的“?”一转换,所以我的代码看起来像转换(CHAR(50),?),并且摆脱了截断误差。