varchar 和 nvarchar 的區別和使用

2022-09-05 12:09:06 字數 587 閱讀 2801

區別:

1.nvarchar 不管是乙個字元還是乙個漢字,都存為2個位元組。varchar 漢字是兩個位元組,其它字元為1個位元組。

2.nvarchar(n):包含n個字元的可變長度unicode字元資料。n的值必須介於1與4000之間,位元組的儲存大小事所輸入字元個數的兩倍。所輸入的資料字元長度可以為零

varchar(n):長度為n個位元組的可變長度且非unicode的字元資料。n必須是乙個介於1和8000之間的數值。儲存大小為輸入的資料的位元組的實際大小,而不是n個位元組。所輸入的資料字元長度可以為零。

使用:1.從儲存量上考慮,varchar比較節省空間,因為儲存大小為位元組的實際長度,而nvarchar是雙位元組儲存。

2.在使用上,如果儲存內容都是英文本元而沒有漢字等其他語言符號,建議是用varchar,含有漢字的使用nvarchar,因為nvarchar是使用unicode編碼,即統一的  字元編碼標準,會減少亂碼的出現機率。

3.從儲存方式上,nvarchar是按字元儲存,而varcahr是按位元組儲存的。

例子說明:乙個漢字佔varchar(2),只佔nvarchar(1)

而字母只佔varchar(1),佔nvarchar(1).

資料庫關於varchar和nvarchar的區別

unicode字符集就是為了解決字符集這種不相容的問題而產生的,它所有的字元都用兩個位元組表示,即英文本元也是用兩個位元組表示 如果還為了這個糾結,就直接看看後面的解說,做決定吧。一般如果用到中文或者其它特殊字元,我就會使用n開頭的型別,否則的話直接使用var開頭的。sql server中的varc...

資料庫欄位varchar和Nvarchar區別

unicode字符集就是為了解決字符集這種不相容的問題而產生的,它所有的字元都用兩個位元組表示,即英文本元也是用兩個位元組表示 如果還為了這個糾結,就直接看看後面的解說,做決定吧。一般如果用到中文或者其它特殊字元,我就會使用n開頭的型別,否則的話直接使用var開頭的。sql server中的varc...

char和varchar2 varchar的區別

char和varchar2 varchar的區別 1 char是長度固定的型別,varchar2是動態變化的,譬如 存在字串 abcde 對於乙個大小為char 20 而言,它將儲存20個字元,但是有15個是空字元,而varchar 20 則是占用3個位元組的長度,20只是能儲存的最大值。2 cha...