oracle 檢查字元中資料型別 函式 儲存過程

2022-06-10 20:45:17 字數 2940 閱讀 9533

dump函式用來判斷字串中的字元型別是屬於number或者string

儲存過程

create

orreplace

procedure pro_isnum(i_string in

varchar2,o_note out varchar2)

asstring1

varchar2(1000);--

字段通過dump()轉換後

num1 number(20);--

欄位中字元的個數

num2 number(20);--

ascii比較變數

i number(20);--

迴圈累積變數

begin

if i_string is

notnull

then

select',

'||substr(dump(i_string),instr(dump(i_string),'

:')+

1,length(dump(i_string))-instr(dump(i_string),'

:'))||',

'into string1 from

dual;

select nvl(length(string1)-length(replace(string1,'

,','')),-

1) into num1 from

dual;

i:=1

; o_note:='

number';

<>

loop

if i =num1 then

dbms_output.put_line(

'迴圈已結束資料型別為'||

o_note);

exit

first_loop;

endif

;

select to_number(substr(string1,instr(string1,'

,',1,i)+

1,instr(string1,'

,',1,i+

1)-instr(string1,'

,',1,i)-

1)) into num2 from

dual;

if num2<

48or num2>

57then

o_note:='

string';

return

;

endif

; i:

=i+1

;

endloop fst_loop;

dbms_output.put_line(

'loop迴圈已經結束!');

else

o_note:='

null';

endif;

end;

函式

create

orreplace

function func_isnum(i_string in

varchar2)

return

varchar2

--返回型別

isstring1

varchar2(1000);--

字段通過dump()轉換後

num1 number(20);--

欄位中字元的個數

num2 number(20);--

ascii比較變數

i number(20);--

迴圈累積變數

o_note varchar2(20);--

返回型別

begin

if i_string is

notnull

then

select',

'||substr(dump(i_string),instr(dump(i_string),'

:')+

1,length(dump(i_string))-instr(dump(i_string),'

:'))||',

'into string1 from

dual;

select nvl(length(string1)-length(replace(string1,'

,','')),-

1) into num1 from

dual;

i:=1

; o_note:='

number';

<>

loop

if i =num1 then

dbms_output.put_line(

'迴圈已結束資料型別為'||

o_note);

exit

first_loop;

endif

;

select to_number(substr(string1,instr(string1,'

,',1,i)+

1,instr(string1,'

,',1,i+

1)-instr(string1,'

,',1,i)-

1)) into num2 from

dual;

if num2<

48or num2>

57then

o_note:='

string';

endif

; i:

=i+1

;

endloop fst_loop;

dbms_output.put_line(

'loop迴圈已經結束!');

else

o_note:='

null';

endif;

return

o_note;

end;

檢查字串中的結束標記

使用的模組為itertools,在其中主要使用的方法是itertools.imap function,iter1,iter2.itern 此方法的主要就是返回乙個迭代器,其中返回的項為function iter1,iter2,itern 返回的長度主要看最短的iter的長度,如果function為n...

Oracle 內建資料型別 字元

start create table test 語法 char size byte char 預設長度 size 是 1,最大長度是 2000 預設修飾符是 byte,但可以通過修改引數 nls length semantics 來設定預設值為 char select from nls sessio...

python 資料型別檢查

資料型別檢查 在實際介面自動化測試過程中,我們會發現介面的很多入參引數都標記了 string int float array等等 這就迫使我們對入參得作下檢查工作,不然執行完成後,出錯了,少的還能快速找到問題,多了的話定位問題都要找半天。首先,第一種是這樣的 def function check n...