天天看點

char varchar nchar nvarchar 四者的差別

1、char[(n)]

長度為 n 個位元組的固定長度且非 Unicode 的字元資料。n 必須是一個介于 1 和 8,000 之間的數值。存儲大小為 n 個位元組。char 在 SQL-92 中的同義詞為 character。

2、varchar[(n)]

長度為 n 個位元組的可變長度且非 Unicode 的字元資料。n 必須是一個介于 1 和 8,000 之間的數值。存儲大小為輸入資料的位元組的實際長度,而不是 n 個位元組。所輸入的資料字元長度可以為零。varchar 在 SQL-92 中的同義詞為 char varying 或 character varying。

3、nchar(n)

包含 n 個字元的固定長度 Unicode 字元資料。n 的值必須介于 1 與 4,000 之間。存儲大小為 n 位元組的兩倍。nchar 在 SQL-92 中的同義詞為 national char 和 national character。

4、nvarchar(n)

包含 n 個字元的可變長度 Unicode 字元資料。n 的值必須介于 1 與 4,000 之間。位元組的存儲大小是所輸入字元個數的兩倍。所輸入的資料字元長度可以為零。nvarchar 在 SQL-92 中的同義詞為 national char varying 和 national character varying。

總結:

1、 varchar:  

        可變長度的非    Unicode   資料,最長為    8,000    個字元。

2、nvarchar:  

         可變長度    Unicode    資料,其最大長度為    4,000    字元。  

3、char:

         固定長度的非 Unicode 字元資料,最大長度為 8,000 個字元。

4、nchar

         固定長度的 Unicode 資料,最大長度為 4,000 個字元。

5、  char和varchar都是字元串類型的

6、CHAR的長度是固定的,而VARCHAR的長度是可以變化的, 比如,存儲字元串“abc",對于CHAR (20),表示你存儲的字元将占20個位元組(包括17個空字元),而同樣的VARCHAR2 (20)則隻占用3個位元組的長度,20隻是最大值,當你存儲的字元小于20時,按實際長度存儲。