char varchar和varchar2的區別

2021-08-30 19:14:08 字數 771 閱讀 2984

1. char的長度是固定的,而varchar2的長度是可以變化的, 比如,儲存字串「abc",對於char (20),表示你儲存的字元將佔20個位元組(包括17個空字元),而同樣的varchar2 (20)則只占用3個位元組的長度,20只是最大值,當你儲存的字元小於20時,按實際長度儲存。

2.char的效率比varchar2的效率稍高。

3.目前varchar是varchar2的同義詞。工業標準的varchar型別可以儲存空字串,但是oracle不這樣做,儘管它保留以後這樣做的 權利。oracle自己開發了乙個資料型別varchar2,這個型別不是乙個標準的varchar,它將在資料庫中varchar列可以儲存空字串的 特性改為儲存null值。如果你想有向後相容的能力,oracle建議使用varchar2而不是varchar。

何時該用char,何時該用varchar2?

char與varchar2是一對矛盾的統一體,兩者是互補的關係.

varchar2比char節省空間,在效率上比char會稍微差一些,即要想獲得效率,就必須犧牲一定的空間,這也就是我們在資料庫設計上常說的『以空 間換效率』。

varchar2 雖然比char節省空間,但是如果乙個varchar2列經常被修改,而且每次被修改的資料的長度不同,這會引起『行遷移』(row migration)現象,而這造成多餘的i/o,是資料庫設計和調整中要盡力避免的,在這種情況下用char代替varchar2會更好一些。

char中還會自動補齊空格,因為你insert到乙個char欄位自動補充了空格的,但是select 後空格沒有刪除。

char varchar和nvarchar的區別

1.char 適用於長度固定,一般不含中文的情況。char區分中英文,英文佔1個位元組,中文佔2個位元組。比如 char 20 你只能插入20個字母或者10個漢字。即使你插入abc,不足20個位元組,資料庫也會在abc後自動插入17個空格補足20個位元組 2.varchar 適用於長度不固定,一般不...

Char Varchar和Nvarchar的區別

char和varchar這兩種型別是我們經常使用的資料型別,但是在使用的過程中也沒有特別的去注意他們有什麼樣的區別,nvarchar相對與char和varchar就不是很常用。通過一次技術的分享和在網際網路上查詢一些知識,讓我對這些數值型別有了深刻的認識。char 是計算機程式語言中只可容納單個字元...

char varchar和varchar2的比較

在mysql 中char 和 varchar 都是儲存字串的,區別在於char有固定的長度,而varchar屬於可變長的字元型別。目前varchar和varchar2是同義詞,工業標準的varchar型別可以儲存空字串,但是oracle不這樣做,儘管它保留以後這樣做的權利。oracle自己開發了乙個...