Что означает ошибка SQL Server «Строковые данные, правильное усечение» и как ее исправить? - PullRequest
17 голосов
/ 08 октября 2008

Мы проводим некоторые тесты производительности на нашем веб-сайте и часто получаем следующую ошибку:

*** '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%», которая слишком длинная. Я просто не добавил%, если они дают пять цифр.

Ответы [ 2 ]

22 голосов
/ 08 октября 2008

Либо параметр, заданный для ZIP_CODE, больше (по длине), чем ширина столбца ZIP_CODE s, либо параметр, заданный для CITY, больше (по длине), чем CITY s ширина столбца.

Было бы интересно узнать значения, предоставленные для двух ? заполнителей.

2 голосов
/ 04 марта 2016

Я обошел проблему с помощью преобразования на «?», Поэтому мой код выглядит как convert (char (50) ,?), и это избавило от ошибки усечения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...