在本教學中,將學習如何使用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數據定義