Oracle 資料型別分享

2021-05-22 16:00:26 字數 3608 閱讀 5433

給團隊內部做的乙個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 i...

oracle資料型別

char 用於描述定長的字元型資料,長度 2000位元組 varchar2 用於描述變長的字元型資料,長度 4000位元組 nchar 用來儲存unicode字符集的定長字元型資料,長度 1000位元組 nvarchar2 用來儲存unicode字符集的變長字元型資料,長度 1000位元組 numb...

Oracle資料型別

一 概述 標量 scalar 復合 composite 引用 reference lob 二 標量 scalar 合法的標量型別與資料庫的列所使用的型別相同,此外它還有一些擴充套件。它又分為七個組 數字 字元 行 日期 行標識 布林和可信。數字,它有三種基本型別 number pls integer...