17,377
社区成员
发帖
与我相关
我的任务
分享
create or replace function TRIMSTARTSTRING(TrimStr IN varchar2,TrimChar IN varchar2) return
varchar2 is
trimouter varchar2(1024);
len number;
pos number;
begin
len:=length(trimchar);
pos:=1;
while pos<length(trimstr) loop
begin
if substr(trimstr,pos,LEN )=trimchar then
pos:=pos+len;
else exit;
end if;
end;
end loop;
trimouter:=substr(trimstr,POS,length(trimstr));
return(trimouter);
end;
CREATE OR REPLACE FUNCTION TRIMSTARTSTRING(TrimStr IN varchar2,
TrimChar IN varchar2)
RETURN varchar2 AS
v_Len NUMBER;
v_Pos NUMBER;
BEGIN
v_len := Length(TrimChar);
v_Pos := 1;
while v_Pos < Length(TrimStr) loop
if SubStr(TrimStr, v_pos, v_len) = TrimChar then
v_pos := v_pos + v_len;
else
exit;
end if;
end loop;
return SubStr(TrimStr, v_Pos, Length(TrimStr));
END;
--try it
create or replace function TRIMSTARTSTRING(TrimStr IN varchar2,TrimChar IN varchar2) return
varchar2 is
trimouter varchar2(1024);
len number;
pos number;
begin
len:=length(trimchar);
pos:=1;
while pos<length(trimstr) loop
begin
if substr(trimstr,pos,LEN )=trimchar then
pos:=pos+len;
end if;
end;
end loop;
trimouter:=substr(trimstr,POS,length(trimstr));
return(trimouter);
end;
-- TRY IT ..
CREATE OR REPLACE FUNCTION TRIMSTARTSTRING(TRIMSTR IN VARCHAR2,
TRIMCHAR IN VARCHAR2)
RETURN VARCHAR2 IS
V_LEN NUMBER;
V_POS NUMBER;
BEGIN
V_LEN := LENGTH(TRIMCHAR);
V_POS := 1;
WHILE V_POS < LENGTH(TRIMSTR) LOOP
IF SUBSTR(TRIMSTR,V_POS,V_LEN) = TRIMCHAR THEN
V_POS := V_POS + V_LEN;
END IF;
END LOOP;
RETURN SUBSTR(TRIMSTR,V_POS,LENGTH(TRIMSTR));
END TRIMSTARTSTRING;
[Quote=引用楼主 mwq100 的帖子:]