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時,按實際長度存儲。