sqlserver varchar和nvarhar區別

unicode字符集就是爲了解決字符集這種不兼容的問題而產生,它所有的字符都用兩個字節表示,即英文字符也是兩個字節表示。一般如果用到中文或者其它特殊字符,我就會使用n開頭的類型,否則的話直接使用var開頭的。

varchar(n)
長度爲 n 個字節的可變長度且非 Unicode 的字符數據。n 必須是一個介於 1 和 8,000 之間的數值。存儲大小爲輸入數據的字節的實際長度,而不是 n 個字節。

nvarchar(n)
包含 n 個字符的可變長度 Unicode 字符數據。n 的值必須介於 1 與 4,000 之間。字節的存儲大小是所輸入字符個數的兩倍。

兩字段分別有字段值:我和coffee
那麼varchar字段佔2×2+6=10個字節的存儲空間,而nvarchar字段佔8×2=16個字節的存儲空間。

如字段值只是英文可選擇varchar,而字段值存在較多的雙字節(中文、韓文等)字符時用nvarchar

參考:

https://www.cnblogs.com/ebaidu/archive/2007/08/14/854778.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章