我刚刚安装了Microsoft SQL Server 2008 R2,以使用LINQ到SQL进行测试。

我有一个带有一列NCHAR(20)和两行的表:“ 123”和“ Test”。

如果我从该表中查询所有行,并用“'”包装每个值,我将得到以下内容:

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

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

SQL Server似乎正在填充未使用的空间(因为列为20个字节NCHAR)。

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

有帮助吗?

解决方案

使用NVARCHAR代替NCHAR。 NCHAR是一个固定的宽度场,如您所见,充满了空间。

其他提示

将列类型更改为 nvarchar.

NCHAR和NVARCHAR.

你需要 nvarchar, ,这是灵活的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top