我刚刚安装了Microsoft sql Server 2008 R2以使用LINQ to sql进行测试.
我有一个表有一列nchar(20)和两行:’123’和’Test’.
如果我查询该表中的所有行并用“’”包装每个值,我得到以下内容:
'123 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space) 'Test _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ' ( _ is a space)
sql Server似乎填充了未使用的空间(因为列是一个20字节的nchar),带有空格.
我该怎么做才能防止这种情况发生?
解决方法
使用nvarchar而不是nchar. nchar是一个固定宽度的字段,填充空格,如您所见.