在本教程中,将学习如何使用SQL Server VARCHAR
数据类型来存储可变长度的非Unicode字符串数据。
Varchar数据类型简介
SQL Server VARCHAR
数据类型用于存储可变长度的非Unicode字符串数据。以下是它的语法:
VARCHAR(n)
在此语法中,n
定义字符串长度,范围从1
到8000
。 如果未指定n
,则其默认值为1
。
声明VARCHAR
列的另一种方法是使用以下语法:
VARCHAR(max)
在此语法中,max
定义最大存储大小2^31 -1
字节(2GB)。
通常,VARCHAR
值的存储大小是存储数据的实际长度加上2
个字节。
VARCHAR
的ISO同义词是CHARVARYING
或CHARACTERVARYING
,因此可以互换使用它们。
Varchar数据类型示例
以下语句用来创建一个包含一个VARCHAR
列的新表:
CREATE TABLE test.sql_server_varchar (
val VARCHAR NOT NULL
);
因为没有指定val
列的字符串长度,所以它默认为1
。
要更改val
列的字符串长度,请使用ALTER TABLE ALTER COLUMN
语句,例如要修改它的长度为10
,可使用以下语句:
ALTER TABLE test.sql_server_varchar
ALTER COLUMN val VARCHAR (10) NOT NULL;
以下语句将新字符串插入test.sql_server_varchar
表的val
列中:
INSERT INTO test.sql_server_varchar (val)
VALUES
('SQL Server');
该语句按预期那样工作,因为字符串值的长度等于列定义中定义的长度。
以下语句尝试插入长度大于列的字符串长度的新字符串数据:
INSERT INTO test.sql_server_varchar (val)
VALUES
('SQL Server VARCHAR');
SQL Server发出错误并终止了该语句:
要查找存储在VARCHAR
列中的字符数和字节数,可以使用LEN
和DATALENGTH
函数,如以下查询所示:
在本教程中,学习了如何使用SQL Server VARCHAR
数据类型在数据库中存储可变长度的非Unicode数据。