【问题标题】:SQL Server : whitespaces in rowsSQL Server:行中的空格
【发布时间】:2012-04-26 20:07:25
【问题描述】:

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

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

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

这发生在我所有的桌子上

谁能向我解释为什么会发生这种情况以及如何解决它?

【问题讨论】:

    标签: sql sql-server tsql sqldatatypes


    【解决方案1】:

    CHARNCHAR 将自动用空格填充字符串以满足定义的长度。使用NVARCHAR(255) 而不是NCHAR(255)

    【讨论】:

      【解决方案2】:

      你应该使用 nvarchar

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

      【讨论】:

      • 您已经解释了 varchar 和 nvarchar 之间的区别,但没有解释 nchar 和 nvarchar 之间的区别。
      • @Blam OP 正在使用nchar。 Halis 建议改用nvarchar,然后解释了nvarcharvarchar 的不同之处。如果他建议nvarcharnchar,解释不应该描述nvarcharnchar 有何不同吗???
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      相关资源
      最近更新 更多