給團隊內部做的乙個oracle 資料型別分享,主要是關於oracle資料型別一些內部儲存結構及效能介紹。
以下是ppt
中undumpnumber函式的全部**:
create
or
replace
function
undumpnumber
(idumpstrvarchar2
)
return
number
is
type
bytearrayis
table
of
number
index
by
binary_integer
;
bytes bytearray;
result
number
;
iinteger
;
pos1integer
;
pos2integer
;
pos3integer
;
vlengthinteger
;
begin
result
:=0
; pos1
:=instr
(idumpstr
,'len=')+
4;pos2
:=instr
(idumpstr
,':');
vlength
:=substr
(idumpstr
,pos1
,pos2
-pos1
);--get length i
:=0;
pos2
:=pos2 +1
; --將
dump
的字串填充到陣列中
for
iin
0..vlength-1
loop
pos3
:=instr
(idumpstr
,','
,pos2);
if
pos3
>
0then
bytes(i
):=trim
(
substr
(idumpstr
,pos2
,pos3
-pos2
));
else
bytes(i
):=trim
(
substr
(idumpstr
,pos2
));--最後1
位元組 end
if
;
pos2
:=pos3 +1
; end
loop
; --
還原number
if
bytes(0
)=128then
--128表示0
result
:=0
; elsif
bytes(0
)>
128then
--大於
128表示正數
for
iin
1.. vlength -1
loop
result
:=result
+
(bytes(i
)-1)
*power
(100,(
bytes(0
)-193)-i
+1);
end
loop
;
else
--小於
128表示負數
for
iin
1.. vlength -2
loop
result
:=result
+
(bytes(i
)-101)
*power
(100,(
62-bytes(0
))-i+
1);end
loop
;
end
if
;
return
(result
);
end
undumpnumber;
sql> select undumpnumber(dump(314.21)) from dual;
undumpnumber(dump(314.21))
--------------------------
314.21
Oracle 資料型別分享
給團隊內部做的乙個oracle 資料型別分享,主要是關於oracle資料型別一些內部儲存結構及效能介紹。以下是ppt中 undumpnumber 函式的全部 create or replace function undumpnumber idumpstrvarchar2 return number ...
oracle資料型別
char 用於描述定長的字元型資料,長度 2000位元組 varchar2 用於描述變長的字元型資料,長度 4000位元組 nchar 用來儲存unicode字符集的定長字元型資料,長度 1000位元組 nvarchar2 用來儲存unicode字符集的變長字元型資料,長度 1000位元組 numb...
Oracle資料型別
一 概述 標量 scalar 復合 composite 引用 reference lob 二 標量 scalar 合法的標量型別與資料庫的列所使用的型別相同,此外它還有一些擴充套件。它又分為七個組 數字 字元 行 日期 行標識 布林和可信。數字,它有三種基本型別 number pls integer...