SQL Server Varchar数据类型

在本教程中,将学习如何使用SQL Server VARCHAR数据类型来存储可变长度的非Unicode字符串数据。

Varchar数据类型简介

SQL Server VARCHAR数据类型用于存储可变长度的非Unicode字符串数据。以下是它的语法:

VARCHAR(n)

在此语法中,n定义字符串长度,范围从18000。 如果未指定n,则其默认值为1

声明VARCHAR列的另一种方法是使用以下语法:

VARCHAR(max)

在此语法中,max定义最大存储大小2^31 -1字节(2GB)。

通常,VARCHAR值的存储大小是存储数据的实际长度加上2个字节。

VARCHAR的ISO同义词是CHARVARYINGCHARACTERVARYING,因此可以互换使用它们。

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列中的字符数和字节数,可以使用LENDATALENGTH函数,如以下查询所示:

在本教程中,学习了如何使用SQL Server VARCHAR数据类型在数据库中存储可变长度的非Unicode数据。


上一篇: SQL Server数据类型 下一篇: SQL Server数据定义