-
CREATE OR REPLACE Function ZL_GetSinglebyte_string
-
(
-
strValue_IN varchar2,
-
numValue_IN number
-
)
-
Return Varchar2 Is
-
v_temp varchar2(200);
-
v_return varchar2(200);
-
v_num number:=0;
-
v_sum number:=0;
-
idx number :=1 ;
-
idy number :=0 ;
-
BEGIN
-
IF lengthb(strValue_IN)>=numValue_IN then
-
WHILE idx <= LENGTH(strValue_IN) LOOP
-
v_temp := SUBSTR(strValue_IN,idx,1);
-
v_num := v_num + lengthb(v_temp);
-
if v_num > numValue_IN then
-
v_return := v_return||substr(strValue_IN,1,idx-1)||' ';
-
exit;
-
elsif v_num = numValue_IN then
-
v_return := v_return||substr(strValue_IN,1,idx);
-
exit;
-
else
-
idx := idx + 1 ;
-
END IF;
-
END LOOP;
-
ELSE
-
v_sum := numValue_IN - LENGTHB(strValue_IN);
-
v_return := v_return||strValue_IN;
-
WHILE idy < v_sum LOOP
-
v_return := v_return||' ';
-
idy := idy + 1;
-
END LOOP;
-
END IF;
-
IF mod(lengthb(strValue_IN),2) = 0 then
-
v_return := v_return || ' |';
-
ELSE
-
v_return := v_return || '|';
-
END IF;
-
Return v_return;
-
Exception
-
When Others Then
-
Zl_Errorcenter(Sqlcode, Sqlerrm);
-
END ZL_GetSinglebyte_string;
-
-
-
建同义词:
-
create or replace public synonym ZL_GetSinglebyte_string
-
for HIS.ZL_GetSinglebyte_string;
-
----------------------------------------------------------
-
GRANT EXECUTE ON ZL_GetSinglebyte_string to public
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28878983/viewspace-2133891/
,如需转载,请注明出处,否则将追究法律责任。