我正在使用SQL Server 2008,Visual Web Developer 2012和.net 4.0。我在SQL Server中创建了一个表,并为其添加了一些列。我给了一些数据类型为nchar(10)
的列。
现在我的问题是当我插入少于10个字符的字符串作为列类型nchar(10)
的值时,当我获取值时,它会插入空格来完成10个字符的字符串。
表示我将"a"
插入nchar(10)
类型的列中,
然后,当我再次获取该值时,我会回来:"a "
如何解决此问题?
答案 0 :(得分:3)
答案 1 :(得分:2)
将字符串定义为nvarchar(10)
它可以正常工作
答案 2 :(得分:0)
如果您不想更改数据类型,则需要从输出中删除空间
SELECT
RTRIM("a ") AS ColumnName
FROM MyTable
但这意味着每次你必须在使用该列的每个地方都这样做。用户VARCHAR(10)或NVARCHAR(20)更好,其中VAR ...表示可变长度。因此,如果您的字符串不超过10个字符,则不会添加空格
最终SQL
SELECT
RTRIM(ColumnName) AS ColumnName
FROM myTable