1、各自的定義:
? nvarchar(n) : 包含 n 個字符的可變長度 Unicode 字符數據。n 的值必須介於 1 與 4,000 之間。字節的存儲大小是所輸入字符個數的兩倍。所輸入的數據字符長度可以為零。
? varchar[(n)]: 長度為 n 個字節的可變長度且非 Unicode 的字符數據。n 必須是一個介於 1 和 8,000 之間的數值。存儲大小為輸入數據的字節的實際長度,而不是 n 個字節。所輸入的數據字符長度可以為零。
2、區別:
? 從存儲方式上,nvarchar是按字符存儲的,而 varchar是按字節存儲的;
? 從存儲量上考慮, varchar比較節省空間,因為存儲大小為字節的實際長度,而 nvarchar是雙字節存儲;
? 在使用上,如果存儲內容都是英文字符而沒有漢字等其他語言符號,建議使用varchar;含有漢字的使用nvarchar,因為nvarchar是使用Unicode編碼,即統一的字符編碼標准,會減少亂碼的出現幾率;
?如果你做的項目可能涉及不同語言之間的轉換,建議用nvarchar。比如你做歐美、日韓項目。