Oracle數據類型char與varchar的對比


 

使用scott用戶連接數據庫

新建一個表

create table stu01(name char(32));

插入一條數據

insert into stu01 values('liuyueming');

查詢

select * from stu01;

 

PS:如果是使用客戶端連接可能無法查看到數據,需要在命令行commit提交

 

char(32)代表字符類型最長32位,如果不夠32位使用空格補齊

使用dump(name)搜索就能顯示出來,字符轉換成了字符碼

 

Oracle常用的數據類型

1,char(size)

   存放定長的字符串,最大存放2000個字符

  PS:字符串的長度一般為16的倍數

  例如 char(32),存放32個字符(超出不行,不夠32位使用空格補齊)

    如果超出插入不進會出現錯誤提示

        

  新建表如果超過2000也會報錯

       

2,varchar2(size)

  解釋:變長,最大可以存放4000個字符

     新建一個表

     create table stu02(name varchar2(16));

  插入數據並且查看(是變長的不會以空格補齊)

  

  存放了leo的三個字符,實際存放在數據庫中,就只占用了3個字符,其余剩下的字符就被回收了,提高利用率

  說明:

    如果我們的數據是固定長度的,比如手機號碼(11位),比如身份證號碼,則應當使用插入來存放,這樣

  的好處是查詢與檢索速度較快;

    而如果存放的字符串長度不固定,則建議使用varchar2(size)

  原因:查詢char類型的字段時,作為整體進行查詢,而varchar2是一個個數據進行對比的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM