Пустое пространство в конце результатов запроса SQL Server
-
26-09-2019 - |
Вопрос
Я только что установил Microsoft SQL Server 2008 R2 для тестирования с Linq для SQL.
У меня есть таблица с одним столбцом типа NCHAR (20) и два ряда: «123» и «тест».
Если я запрашиваю все строки из этой таблицы и заверните каждое значение «», «Я получаю следующее:
'123 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)
'Test _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)
SQL Server, похоже, заполняет неиспользуемое место (потому что столбец - 20 байт NCHAR) с пробелами.
Что я могу сделать, чтобы предотвратить этому?
Решение
Используйте nvarchar вместо nchar. NCHAR - это поле фиксированной ширины, которое заполнено пробелами, как вы видите.
Другие советы
Изменить тип столбца в nvarchar
.
Видеть nchar и nvarchar..
тебе нужно nvarchar
, это гибко.
Не связан с StackOverflow