2010-08-06 146 views
6

我刚刚安装了Microsoft SQL Server 2008 R2以测试LINQ to SQL。SQL Server查询结果末尾空白

我有一个表的类型nchar(20)和两行:'123'和'测试'。

如果我查询所有行从该表中,敷用“'”我得到以下各值:

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

'Test _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' (_ is a space) 

SQL服务器似乎被填充未使用的空间(因为该列有20字节nchar)与空格。

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

+1

只是添加它是一个40字节的nchar而不是20在你的问题。 Unicode数据类型需要双倍的空间。 – 2010-08-06 22:18:37

回答

17

使用nvarchar而不是nchar。正如你所看到的,nchar是一个固定宽度的字段,里面充满了空格。

1

您需要nvarchar,它很灵活。