在 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 會自動調整列的長度以適應實際字符串。