【发布时间】:2012-04-26 20:07:25
【问题描述】:
我有这个问题,在我的数据库中,我的文本后面有很多空格,
在我的电子邮件中,我有 "something@mail.com+_________________________________________" 很多空格
我的电子邮件行是nchar(255)
这发生在我所有的桌子上
谁能向我解释为什么会发生这种情况以及如何解决它?
【问题讨论】:
标签: sql sql-server tsql sqldatatypes
我有这个问题,在我的数据库中,我的文本后面有很多空格,
在我的电子邮件中,我有 "something@mail.com+_________________________________________" 很多空格
我的电子邮件行是nchar(255)
这发生在我所有的桌子上
谁能向我解释为什么会发生这种情况以及如何解决它?
【问题讨论】:
标签: sql sql-server tsql sqldatatypes
CHAR 和NCHAR 将自动用空格填充字符串以满足定义的长度。使用NVARCHAR(255) 而不是NCHAR(255)。
【讨论】:
你应该使用 nvarchar
SQL Server 提供两种数据类型来存储字符信息。在大多数情况下,这两种数据类型在您在 SQL Server 中或从应用程序中使用它们的方式上是相同的。不同之处在于 nvarchar 用于存储 unicode 数据,用于在您的数据库表中存储多语言数据。其他语言有一组扩展的字符代码需要保存,并且此数据类型允许此扩展。如果您的数据库不会存储多语言数据,您应该改用 varchar 数据类型。原因是 nvarchar 占用的空间是 varchar 的两倍,这是因为需要存储其他语言的扩展字符代码来自
【讨论】:
nchar。 Halis 建议改用nvarchar,然后解释了nvarchar 与varchar 的不同之处。如果他建议nvarchar 与nchar,解释不应该描述nvarchar 与nchar 有何不同吗???