

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 字符类型
<a name="Character_types"></a>

字符数据类型包括 CHAR（字符）和 VARCHAR（字符变体）。

**Topics**
+ [CHAR 或 CHARACTER](Character_types-char-or-character.md)
+ [VARCHAR 或 CHARACTER VARYING](Character_types-varchar-or-character-varying.md)
+ [尾部空格的意义](#Character_types-significance-of-trailing-blanks)

## 尾部空格的意义
<a name="Character_types-significance-of-trailing-blanks"></a>

CHAR 和 VARCHAR 数据类型存储长度最多为 *n* 字节的字符串。尝试将更长的字符串存储到这些类型的列中将导致错误。但是，如果额外的字符全为空格，则字符串将截断至最大长度。如果字符串短于最大长度，CHAR 值将使用空格填补，但 VARCHAR 值将存储不带空格的字符串。

CHAR 值中的尾部空格始终无语义意义。当比较两个 CHAR 值时将忽视尾部空格，而不将其包含在 LENGTH 计算中，在将 CHAR 值转换为其他字符串类型时将删除尾部空格。

VARCHAR 和 CHAR 值中的尾部空格将在比较值时视为无语义意义。

长度计算将返回 VARCHAR 字符串的包含尾部空格在内的长度。尾部空格不会计入固定长度字符串的长度中。