SQL Server查询结果末尾的空白空间

Sup*_*ewd 7 sql-server sql-server-2008 sqldatatypes

我刚刚安装了Microsoft SQL Server 2008 R2以使用LINQ to SQL进行测试.

我有一个表有一列nchar(20)和两行:'123'和'Test'.

如果我查询该表中的所有行并用"'"包装每个值,我会得到以下内容:

'123 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)

'Test _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)
Run Code Online (Sandbox Code Playgroud)

SQL Server似乎填充了未使用的空间(因为列是一个20字节的nchar),带有空格.

我该怎么做才能防止这种情况发生?

bob*_*obs 18

使用nvarchar而不是nchar.nchar是一个固定宽度的字段,填充空格,如您所见.