Oracle中的varchar型別

2021-10-05 12:36:30 字數 694 閱讀 9458

varchar的優點:節省空間,寫入速度快varchar寫入資料庫時,資料庫不會在字串尾部自動補充空格。這樣可以節省資料占用的磁碟空間,也可以節省一定的自動補充空格運算。

varchar的缺點:varchar中,字串尾部空格是有意義的,資料庫在檢索資料時,不會自動去除尾部空格後匹配。所以寫入資料時如果有空格,檢索時也需要有空格。不然會匹配失敗,這太痛苦了,誰知道後面有幾個空格。所以有些程式會在條件中加上trim,給表中資料去空格,規避需要匹配空格的問題。類似這樣的:

select col1,col2… from aa where trim(id_no) = 『1111』;

但是這又會引發乙個新的問題,索引失效。 在plsql中,檢視語句執行效率發現,在對字段做trim後,會導致索引失效,降低搜尋效率。

所以應避免在索引欄位上使用varchar型別。如果字段經常需要作為查詢條件,也應避免使用varchar

總結:

1、作為索引的字段, 不能使用varchar型別

2、trim會使索引失效。查詢語句中避免對資料庫的索引欄位做運算。

Oracle中char和varchar2的區別

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

Oracle中Varchar 型資料 計算時間差

在開發程式時,我們經常會遇到要計算從starttime到endtime的時間差,但這個記錄時間差的字段是varchar型的,這就需要先進行資料型別的轉換才能達到目的 先來看看oracle系統時間的時間差計算方法 select sysdate,sysdate 500,to char sysdate,y...

oracle中varchar2使用的一些整理

oracle中有三種比較常用的型別 varchar2 byte varchar2 char nvarchar2 那麼這三種型別到底有什麼區別呢?首先,我們要時刻記清 無論是varchar2還是nvarchar2,最大位元組數都是 4000。alter session set nls length s...