2013-08-16 2 views
1

Я связал таблицу из базы данных SQL Server для доступа, но содержимое текстовых столбцов имеет правые конечные пробелы. Кто-нибудь знает, что вызывает это?Связанная таблица из SQL Server для доступа имеет конечные пробелы

+3

Аналогично: http://stackoverflow.com/questions/4166159/sql-where-clause-matching-values-with-trailing-spaces/4166186#4166186 Также http://technet.microsoft.com /en-us/library/ms187403.aspx актуальность – xQbert

ответ

2

Столбцы в таблице SQL Server, вероятно, char или nchar столбцы.
В отличие от varchar и nvarchar их длина фиксирована.

Это означает, что при сохранении пятисимвольной строки в столбце char(50) SQL Server заполняет оставшиеся 45 символов пробелами. Вот откуда берутся ваши задние пространства.

Есть две вещи, которые вы можете сделать:

  1. Изменение столбца в SQL Server из char в varchar (или от nchar до nvarchar).

  2. Прежде чем использовать значения из столбца в коде, удалите конечные пробелы с помощью Trim().

Смежные вопросы