SQL Server:行中的空格

时间:2012-04-14 23:09:56

标签: sql sql-server tsql sqldatatypes

我有这个问题在我的数据库中,我的文本后面有很多空格,

在我的电子邮件中,我有"something@mail.com+_________________________________________"多个空格

我的电子邮件行是nchar(255)

这发生在我的所有表格中

任何人都可以向我解释为什么会发生这种情况以及如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

CHARNCHAR会自动右键填充带有空格的字符串以满足定义的长度。使用NVARCHAR(255)代替NCHAR(255)

答案 1 :(得分:0)

你应该使用nvarchar

  

SQL Server提供两种数据类型来存储字符信息。在大多数情况下,两种数据类型在SQL Server或应用程序中使用它们的方式完全相同。区别在于nvarchar用于存储unicode数据,用于在数据库表中存储多语言数据。其他语言有一组需要保存的扩展字符代码,此数据类型允许此扩展。如果您的数据库不存储多语言数据,则应使用varchar数据类型。原因是nvarchar占用的空间是varchar的两倍,这是因为需要为其他语言存储扩展字符代码