記憶盒子

把記憶裝進(jìn)灰色的盒子,封裝起來,那年那月,重新拾起。

首頁搜索目錄
search
當(dāng)前主題: 軟件編程

char、varchar、text和nchar、nvarchar、ntext的區(qū)別比較

作者:Kaka    時間:2009-8-31 21:42:11    瀏覽:    評論:3

      我們在數(shù)據(jù)庫設(shè)計時,char、varchar、text和nchar、nvarchar、ntext是使用頻率相對來說比較高的數(shù)據(jù)類型,但有時候不知道選擇哪種為好,原因是不太清楚他們之間的區(qū)別所在。

      要使數(shù)據(jù)庫設(shè)計得更加合理,我們需要對各種數(shù)據(jù)類型的概念和用法都有一個比較清晰的了解。

      這里說說char、varchar、text和nchar、nvarchar、ntext的區(qū)別和選用。

      1) char和varchar的長度都在1到8000之間,它們的區(qū)別在于char是定長字符數(shù)據(jù),而varchar是變長字符數(shù)據(jù)。所謂定長就是長度固定的,當(dāng)輸入的數(shù)據(jù)長度沒有達(dá)到指定的長度時將自動以英文空格在其后面填充,使長度達(dá)到相應(yīng)的長度;而變長字符數(shù)據(jù)則不會以空格填充。text存儲可變長度的非Unicode數(shù)據(jù),最大長度為2^31-1(2,147,483,647)個字符。

      2) nchar、nvarchar、ntext,表示存儲的是Unicode數(shù)據(jù)類型的字符。我們知道字符中,英文字符只需要一個字節(jié)存儲就足夠了,但漢字眾多,需要兩個字節(jié)存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產(chǎn)生的,它所有的字符都用兩個字節(jié)表示,即英文字符也是用兩個字節(jié)表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較起來,nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字??梢钥闯鍪褂胣char、nvarchar數(shù)據(jù)類型時不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數(shù)量上有些損失。

      所以一般來說,如果含有中文字符,用nchar/nvarchar,如果純英文和數(shù)字,用char/varchar 。

x

標(biāo)簽: SQL Server  

※ 網(wǎng)站速度慢?試試網(wǎng)站自動優(yōu)化工具 ※

上一篇: 教你如何去除Win2000、WinXP系統(tǒng)的登錄界面
下一篇: 怎樣去掉GoDaddy免費(fèi)空間的廣告
  • 1.j*****
  • 受用,貌似現(xiàn)在試用char的很少了吧,沒做過開發(fā),不太了解
  • 2009/9/1 17:21:04 回復(fù)該留言

發(fā)表評論:

◎歡迎參與討論,請在這里發(fā)表您的看法、交流您的觀點。

訂閱博客                   QQ交流群(312716741)

  • 通過Google訂閱本站 通過鮮果訂閱本站 通過抓蝦訂閱本站
  • 通過QQ郵箱訂閱本站 通過Yahoo訂閱本站 通過有道訂閱本站

Search

最新評論及回復(fù)

最近留言

網(wǎng)站分類

Powered By Z-Blog 1.8 Walle Build 91204 Designed by Han'space

Copyright @2009-2024 All Rights Reserved. 粵ICP備14028160號-1

Powered By Z-Blog 1.8 Walle Build 91204
Copyright @2009-2024 All Rights Reserved.