oracle中char,vchar,vchar2的區別與聯絡

來源:互聯網
上載者:User

標籤:ar   使用   sp   資料   bs   資料庫   oracle   har   字串   

1.char是固定長度的,例如你定義某一列類型為char(20).那麼即便你插入"abcde"5個位元組,資料庫也會在後面自動加上15個位元組(可能為空白格),以補足二十個位元組.

2.vchar

vchar是變長的.比如你定義某列為vchar(20),你插入"abcde"5個位元組,資料庫就只儲存5個位元組.20是資料庫對該列儲存的最大長度.

3.vchar2

Vchar2是oracle自己定義的類型,基本等同於vchar.只不過vchar可以儲存Null 字元串.而vchar2儲存NULL值.oracle一般建議使用vchar2.

4.vchar2(20 byte)與vchar2(20 char)

前者最大儲存20位元組,後者最大儲存20字元.比如對中文來說,一個字元可能是2個位元組.所以如果你要儲存的內容裡帶中文的話,用vchar2(20 char)這種.

 

選擇char還是選擇varchar的建議 

1.適宜於char的情況: 
     a. 列中的各行資料長度基本一致,長度變化不超過50位元組; 
     b. 資料變更頻繁,資料檢索的需求較少。 
     c. 列的長度不會變化,修改char類型列的寬度的代價比較大。 
     d. 列中不會出現大量的NULL值。 
     e. 列上不需要建立過多的索引,過多的索引對char列的資料變更影響較大。 

2.適宜於varchar的情況; 
     a. 列中的各行資料的長度差異比較大。 
     b. 列中資料的更新非常少,但查詢非常頻繁。 
     c. 列中經常沒有資料,為NULL值或為空白值 

oracle中char,vchar,vchar2的區別與聯絡

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.