發(fā)表日期:2010.01.20 訪(fǎng)問(wèn)人數:1367
char和varchar的長(cháng)度都在1到8000之間,它們的區別在于char是定長(cháng)字符數據,而varchar是變長(cháng)字符數據。所謂定長(cháng)就是長(cháng)度固定的,當輸入的數據長(cháng)度沒(méi)有達到指定的長(cháng)度時(shí)將自動(dòng)以英文空格在其后面填充,使長(cháng)度達到相應的長(cháng)度;而變長(cháng)字符數據則不會(huì )以空格填充。text存儲可變長(cháng)度的非Unicode數據,最大長(cháng)度為2^31-1(2,147,483,647)個(gè)字符。
后面三種數據類(lèi)型和前面的相比,從名稱(chēng)上看只是多了個(gè)字母"n",它表示存儲的是Unicode數據類(lèi)型的字符。字符中,英文字符只需要一個(gè)字節存儲就足夠了,但漢字眾多,需要兩個(gè)字節存儲,英文與漢字同時(shí)存在時(shí)容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問(wèn)題而產(chǎn)生的,它所有的字符都用兩個(gè)字節表示,即英文字符也是用兩個(gè)字節表示。nchar、nvarchar的長(cháng)度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多存儲4000個(gè)字符,不論是英文還是漢字;而char、varchar最多能存儲8000個(gè)英文,4000個(gè)漢字??梢钥闯鍪褂胣char、nvarchar數據類(lèi)型時(shí)不用擔心輸入的字符是英文還是漢字,較為方便,但在存儲英文時(shí)數量上有些損失。
免費咨詢(xún)