varchar是標準sql裏面的。 varchar2是oracle提供的獨有的數據類型。
varchar對於漢字佔兩個字節,對於數字,英文字符是一個字節,佔的內存小,varchar2一般情況下把所有字符都佔兩字節處理。具體要看數據庫使用的字符集,比如GBK,漢字就會佔兩個字節,英文1個,如果是UTF-8,漢字一般佔3個字節,英文還是1個。
varchar對空串不處理,varchar2將空串當做null來處理。
varchar存放固定長度的字符串,最大長度是2000,varchar2是存放可變長度的字符串,最大長度是4000.
如果是要更換不同的數據庫,例如mysql,那麼就用varchar,如果就用oracle,那麼用varchar2比較好一點。
https://www.cnblogs.com/anningkang/p/oracle.html
網上資料說:
varchar2是oracle提供的獨特的數據類型oracle保證在任何版本中該數據類型向上和向下兼容但不保證varchar,
這是因爲varchar是標準sql提供的數據類型有可能隨着sql標準的變化而改變
varchar2和varchar的目前沒有區別,不過ocacle以後的版本就不支持varchar類型,
如果想新版本的數據庫兼容就不要用varchar,如果想和其它數據庫兼容就不要用varchar2
https://cloud.tencent.com/developer/news/424322