SuprDewd
SuprDewd

Reputation: 269

Empty space at the end of SQL Server query results

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

Answers (3)

bobs
bobs

Reputation: 22204

Use nvarchar instead of nchar. nchar is a fixed width field that is filled with spaces, as you're seeing.

Upvotes: 18

Andrey
Andrey

Reputation: 60075

you need nvarchar, it is flexible.

Upvotes: 1

sgriffinusa
sgriffinusa

Reputation: 4221

Change the column type to nvarchar.

See nchar and nvarchar.

Upvotes: 2

Related Questions