同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁 優(yōu)化推廣 NVARCHAR 和VARCHAR區(qū)別和使用 .

NVARCHAR 和VARCHAR區(qū)別和使用 .

來源: | 時間:2013/6/23 9:40:45 |

1、各自的定義:

       ? nvarchar(n) : 包含   n   個字符的可變長度   Unicode   字符數(shù)據(jù)。n   的值必須介于   1   與   4,000   之間。字節(jié)的存儲大小是所輸入字符個數(shù)的兩倍。所輸入的數(shù)據(jù)字符長度可以為零。 

       ? varchar[(n)]:   長度為   n   個字節(jié)的可變長度且非   Unicode   的字符數(shù)據(jù)。n   必須是一個介于   1   和   8,000   之間的數(shù)值。存儲大小為輸入數(shù)據(jù)的字節(jié)的實際長度,而不是   n   個字節(jié)。所輸入的數(shù)據(jù)字符長度可以為零。

varchar(max)最大2gb字符 使用C#中的DbType.varchar   針對max      DbType.varchar,-1

2、區(qū)別:

      ? 從存儲方式上,nvarchar是按字符存儲的,而 varchar是按字節(jié)存儲的;

      ? 從存儲量上考慮, varchar比較節(jié)省空間,因為存儲大小為字節(jié)的實際長度,而 nvarchar是雙字節(jié)存儲;

      ? 在使用上,如果存儲內(nèi)容都是英文字符而沒有漢字等其他語言符號,建議使用varchar;含有漢字的使用nvarchar,因為nvarchar是使用Unicode編碼,即統(tǒng)一的字符編碼標(biāo)準(zhǔn),會減少亂碼的出現(xiàn)幾率;

      ?如果你做的項目可能涉及不同語言之間的轉(zhuǎn)換,建議用nvarchar。

這點要注意:varchar   適合與存儲英文和數(shù)字;   nvarchr一般用于存儲中文或其他語言的輸入,因為   這樣,可以防止到其他語言平臺上出現(xiàn)亂碼的問題。

舉個例子: 
create table a (name1 varchar(8)) 
insert a Select '張紅a' 
--- 存儲長度為5個字節(jié) 
insert a Select '王一南' 
----存儲長度為6個字節(jié)

---意思是varchar變長字符數(shù)據(jù)類型與存儲數(shù)據(jù)的實際長度是一致的 

nvarchar(n):可變長度 Unicode 數(shù)據(jù),其最大長度為 4,000 字符。 
字節(jié)的存儲大小是所輸入字符個數(shù)的兩倍, 
就是說它是雙字節(jié)來存儲數(shù)據(jù)的。 
如果存儲數(shù)據(jù)如果存在單字節(jié)時,它也是以雙字節(jié)來占用存儲空間的。 

舉個例子: 
create table aa (name1 nvarchar(8)) 
insert aa Select '張紅a' 
--- 存儲長度為6個字節(jié)

服務(wù)熱線

153 8323 9821

功能和特性

價格和優(yōu)惠

網(wǎng)站和維護

推廣和優(yōu)化

微信服務(wù)號