在 SQL 中,可以使用 CHAR
或 VARCHAR
数据类型来存储定长字符串。
CHAR
数据类型:用于存储定长字符串,长度固定,会在存储时用空格填充空白部分。例如,定义一个长度为 10 的CHAR
类型列name
,可以使用以下语句:
CREATE TABLE person ( id INT PRIMARY KEY, name CHAR(10) );
在这个例子中,name
列将会存储长度为 10 的字符串,如果插入的字符串长度小于 10,那么会在字符串右侧用空格填充。
VARCHAR
数据类型:用于存储可变长字符串,长度不固定,会根据实际插入的字符串长度来分配存储空间。例如,定义一个长度为 10 的VARCHAR
类型列name
,可以使用以下语句:
CREATE TABLE person ( id INT PRIMARY KEY, name VARCHAR(10) );
在这个例子中,name
列将会存储长度为 10 的字符串,如果插入的字符串长度小于 10,那么不会填充空格,而是直接存储实际字符串。
需要注意的是,在使用 CHAR
数据类型时,如果插入的字符串长度大于定义的长度,那么 SQL Server 会截断字符串,导致数据丢失。而使用 VARCHAR
数据类型时,如果插入的字符串长度大于定义的长度,那么 SQL Server 会自动调整列的长度以适应实际字符串。