oracle資料型別的用法注意事項

2021-08-27 14:28:10 字數 1925 閱讀 1762

oracle資料型別的用法注意事項

oracle的資料型別有以下型別:

char:定長字串,會用空格填充最大長度

nchar:包含unicode格式資料的定長字串

varchar2:變長字串,不會用空格填充最大長度

nvarchar2:包含unicode的變長字串

raw:變長二進位制資料型別

number:儲存精度最多達38位的數字

binary_float:10g以後新增,32位單精度浮點數

binary_double:10g以後新增,32位單精度浮點數

long:最多2g位元組的字元資料,現在也不用

long raw:最多2g位元組的二進位制資料,現在也不用

date:包含7個屬性的時間型別,不帶小數字的秒數

timestamp:時間型別,不帶小數字的秒數

interval year to month:定寬的時段資料型別,儲存年,月的時間段

interval day to second:定寬的時段資料型別,最多又9位小數字,儲存天,小時,分鐘和秒的時間段

bfile:不一致讀,不如說是指標

blob:最多4g的二進位制資料

clob:最多4g字元資料

urowid:主鍵的rowid

char與varchar,盡量避免使用char,即使用char(1)

數值在效能方面number比其他兩個低

可以使用cast轉換為其他兩個型別

時間型別的處理:

處理interval型別時,extract函式可以很好的處理,如下:

select dt2-dt1

from (select to_timestamp('29-feb-2000 01:02:03.122000',

'dd-mon-yyyy hh24:mi:ss.ff') dt1,

to_timestamp('15-mar-2001 11:22:33.000000',

'dd-mon-yyyy hh24:mi:ss.ff') dt2

from dual )

select extract( day from dt2-dt1 ) day,

extract( hour from dt2-dt1 ) hour,

extract( minute from dt2-dt1 ) minute,

extract( second from dt2-dt1 ) second

from (select to_timestamp('29-feb-2000 01:02:03.122000',

'dd-mon-yyyy hh24:mi:ss.ff') dt1,

to_timestamp('15-mar-2001 11:22:33.000000',

'dd-mon-yyyy hh24:mi:ss.ff') dt2

from dual )

select extract(year from systimestamp) year,

extract(month from systimestamp) month,

extract(day from systimestamp) day,

extract(minute from systimestamp) minute,

extract(second from systimestamp) second,

extract(timezone_hour from systimestamp) th,

extract(timezone_minute from systimestamp) tm,

extract(timezone_region from systimestamp) tr,

extract(timezone_abbr from systimestamp) ta

from dual

可以看到在資料庫盡量使用timestamp欄位更好

Oracle 資料型別使用注意事項

start oracle 支援 number,binary float,binary double 等數值資料型別,number 更精確,binary float 或 binary double 更高效,所以如果有可能,盡量優先使用 binary float 或 binary double 此外,p...

Oracle 的資料型別

oracle的內建資料型別可以分為3大類,即標量資料型別 幾何資料型別和關係資料型別。下面分別介紹這些資料型別 1 表量資料型別 標量資料型別是一般的資料型別,可以返回標量值。標量資料型別可以由字元資料型別 數字資料型別 日期資料型別 raw資料型別 大物件資料型別和行資料型別組成。字元資料型別可以...

oracle 的資料型別

資料型別 datatype 是列 column 或儲存過程中的乙個屬性。oracle支援的資料型別可以分為三個基本種類 字元資料型別 char char資料型別儲存固定長度的字元值。乙個char資料型別可以包括1到2000個字元。如果對char沒有明確地說明長度,它的預設長度則設定為1.如果對某個c...