【发布时间】:2012-11-04 05:17:08
【问题描述】:
我正在使用 SQL Server 2008、Visual Web Developer 2012 和 .net 4.0。我在 SQL Server 中创建了一个表并向其中添加了一些列。我给了一些列数据类型nchar(10)。
现在我的问题是,当我插入少于 10 个字符的字符串作为列类型 nchar(10) 的值时,当我获取该值时,它会插入空格以完成 10 个字符的字符串。
表示如果我将"a" 插入nchar(10) 类型的列中,
然后当我再次获取值时,我会返回:"a "
我该如何解决这个问题?
【问题讨论】:
-
改用 varchar 或 nvarchar
-
不改变数据类型,难道不能解决这个问题吗?
-
更改数据类型是解决方案。您根据需要使用了错误的数据类型并尝试更改 数据类型。我认为这是不可能的。即使可以更改,您以后也会遇到问题。所以保持简单
-
NCHAR(10)是定义来做到这一点的 - 这是设计使然,它是应该如何工作。要么你没问题,要么你使用了错误的数据类型。您无法更改现有数据类型的行为 - 这就是您所需要的,或者您需要使用不同的数据类型
标签: c# sql-server sqldatatypes