Я только что установил Microsoft SQL Server 2008 R2 для тестирования с LINQ to SQL.
У меня есть таблица с одним столбцом типа nchar (20) и двумя строками : '123' и 'Test'.
Если я запрашиваю все строки из этой таблицы и заключаю каждое значение в «», я получаю следующее:
'123 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)
'Test _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)
Кажется, что SQL Server заполняет неиспользуемое пространство (потому что столбец является 20-байтовым nchar) с пробелами.
Что можно сделать, чтобы этого не случилось?
Используйте nvarchar вместо nchar. nchar - это поле фиксированной ширины, которое, как вы видите, заполнено пробелами.
Измените тип столбца на nvarchar
.
См. nchar и nvarchar .