1. 程式人生 > >oracle資料庫char和varchar型別的區別

oracle資料庫char和varchar型別的區別

char與varchar都是用來儲存字元型。但是他們還是有區別的。

一,長度的問題。

char型別的長度是固定,不會變。假如char(5)儲存'abc'和'abcde'的長度都是5,區別在於存'abc'的時候,不夠的長度會由空格補充到為5的長度。所以如果用char儲存資料的時候,要確定我要儲存的資料的長度是不變的。否則會出現'abc   '不等於'abc'.

varchar型別的長度是會變的,但是隻會變短,不會變長哦!列子;varchar(10)儲存'abc'。可以看到字元的長度是三,但是實際儲存到資料庫的也是三的長度,不會像char型別會用空格填充。但是你如果用於儲存長度大於10的資料是不行的哦,varchar只會變短不會變長。所以一般varchar型別用於儲存長度會變的資料。

二,效率的問題。一般來說char型別的效率會快一點。