【发布时间】:2011-10-10 02:53:54
【问题描述】:
如果要存储的字符串小于该列可以存储的最大字符数,则非可变字符列C1 用空格填充字符串。因此,当以下语句插入一行时,其C1 字符串包含 80 个字符,其中 74 个是空格字符。
CREATE TABLE MyTable
(
C1 char(80)
);
INSERT INTO MyTable (C1)
VALUES (' ABC');
一)
LEN() 返回指定字符串的字符数 表达式,不包括尾随空格。
我意识到这 74 个额外的空格是由数据库系统而不是用户添加的,但事实仍然是字符串确实包含这些空格,所以 LEN() 在结果?
b) MS Sql 服务器似乎没有在查询结果窗口中显示这 74 个额外的空格。这是为什么呢?
c) 无论如何,我假设当我们从数据库中检索这一行时,C1 字符串将包含所有这些额外的空格?
谢谢
【问题讨论】:
标签: sql-server tsql