sql-server - SQL Server 查询结果末尾有空格

标签 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)

SQL Server 似乎用空格填充了未使用的空间(因为该列是 20 字节的 nchar)。

我可以采取什么措施来防止这种情况发生?

最佳答案

使用 nvarchar 而不是 nchar。正如您所看到的,nchar 是一个固定宽度的字段,其中充满空格。

关于sql-server - SQL Server 查询结果末尾有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3428073/

相关文章:

sql - 何时保留索引 - 分析 SQL Server 2008 中的索引使用统计信息

mysql - 使用 VARCHAR(255) - 创建一个新的 MySQL 表

php - 无论如何要告诉 postgres 数组中的数据类型?

用于 SQL Server 数据库的 Java Servlet 和 JDBC

sql - 在 SQL 中编写 CASE 语句

sql - 从一个表一次插入一条记录到多个表

java - 更改为 Sqlserver2008 方言后,NativeSql 无法按预期工作

sql-server - 从 SQL Server 导出表以导入到 Oracle 10g

sql - 在没有游标的 SQL 中展平 SQL 分层数据结构

mysql - 将数据类型从 FLOAT 更改为 DECIMAL。不可预见的问题?