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數據定義