在本教學中,將學習如何使用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數據。
上一篇:
SQL Server數據類型
下一篇:
SQL Server數據定義
