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...