Reputation: 269
I just installed Microsoft SQL Server 2008 R2 to test with LINQ to SQL.
I have a table with one column of type nchar(20) and two rows: '123' and 'Test'.
If I query all the rows from that table and wrap each value with "'" I get the following:
'123 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)
'Test _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)
SQL Server seems to be filling the unused space (because the column is a 20 byte nchar) with spaces.
What can I do to prevent this from happening?
Upvotes: 7
Views: 7795
Reputation: 22204
Use nvarchar instead of nchar. nchar is a fixed width field that is filled with spaces, as you're seeing.
Upvotes: 18