oracle char nchar varchar varchar2 nvarchar2

來源:互聯網
上載者:User

帶n的都是unicode 編碼,字母,漢字都是2個位元組。

char 固定長度。

varchar 不固定長度。


char和varchar區別:

資料庫中的char型,用於儲存定長字串,效率比varchar要稍高,但是,佔用空間比varchar要多。比如,儲存字串“abc",對於CHAR (20),表示你儲存的字元將佔20個位元組(包括17個Null 字元),而同樣的VARCHAR2 (20)則只佔用3個位元組的長度,20隻是最大值,當你儲存的字元小於20時,按實際長度儲存。


varchar和varchar2區別:


1、varchar2把所有字元都佔兩位元組處理(一般情況下),varchar只對漢字和全形等字元佔兩位元組,數字,英文字元等都是一個位元組;
2、VARCHAR2把空串等同於null處理,而varchar仍按照空串處理;
3、VARCHAR2字元要用幾個位元組儲存,要看資料庫使用的字元集,比如GBK,漢字就會佔兩個位元組,英文1個。如果是UTF-8,漢字一般佔3個位元組,英文還是1個。


但是一般情況下,我們都認為是兩個位元組處理,因為oracle安裝時候預設我們都選擇GBK的編碼格式,但是我們在頁面做輸入字串長度的校正的時候,還是以資料庫設計欄位最大長度除3來作為最大長度。

varchar(n),nvarchar(n) 中的n怎麼解釋:
  nvarchar(n)最多能存n個字元,不區分中英文。
  varchar(n)最多能存n個位元組,一個中文是兩個位元組。
所佔空間:
  nvarchar(n)一個字元會佔兩個位元組空間。
  varchar(n)中文佔兩位元組空間,英文佔一個。

本文出自 “愛IT” 部落格,請務必保留此出處http://5563447.blog.51cto.com/5553447/1295527

相關文章

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.