2010-08-06 152 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,它很靈活。