Sql server char,nchar,varchar與Nvarchar的區別

來源:互聯網
上載者:User

   訪問了木子書房,重溫了char, nchar, varchar以及Nvarchar,於是記錄下來,希望可以與別人共用,也方便自己以後查詢。當然這不是抄襲噢,只是借鑒一下噢

  1. char類型: 對英文(ASCII)字元佔用1個位元組,對一個漢字佔用2個位元組,CHAR儲存定長資料很方便,CHAR欄位上的索引效率極高,比如定義char(10),那麼不論你儲存的資料是否達  到了10個位元組,都要佔去10個位元組的空間。因為是固定長度,所以速度效率高。比如定義char(10),那麼不論你儲存的資料是否達到了10個位元組,都要佔去10個位元組的空間。因為是固定長度,所以速度效率高。  

  2.  VARCHAR儲存變長資料,如果一個欄位可能的值是不固定長度的,我們只知道它不可能超過10個字元,把它定義為 VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什麼“+1”呢?這一個位元組用於儲存實際使用了多大的長度。

     Varchar類型:Varchar 的類型不以空格填滿,而Char則會填充滿為止,如varchar(100),但它的值只是"qian",所以它在資料庫中存的值就是"qian",而char 不一樣,如char(100),它的  值是"qian",而實際上它在資料庫中是"qian "(qian後共有96個空格,就是把它填滿為100個位元組)。 
     注:由於char是以固定長度的,所以它的速度會比varchar快得多!但程式處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉!

   3. Nchar類型和Nvarchar類型是怎麼一回事呢?為了與其他多種字元的轉換,如中文,音標等,對每個英文(ASCII)字元都佔用2個位元組,對一個漢字也佔用兩個位元組,所有的字元都佔用2個位元組。

  varchar(n):變長型字元資料類型,儲存最長長度為8,000 個字元

  nvarchar(n):可變長度 Unicode 資料,其最大長度為 4,000 字元.位元組的儲存大小是所輸入字元個數的兩倍,就是說它是雙位元組來儲存資料的。如果儲存資料如果存在單位元組時,它也是以雙位元組來佔用儲存空間的。

  varchar一般適用於英文和數字,Nvarchar適用中文和其他字元,其中N表示Unicode常量,可以解決多語言字元集之間的轉換問題

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.