ALTER FUNCTION [dbo].[TrimStartString](@TrimStr varchar(1024), @TrimChar varchar(1024))RETURNS varchar(1024)AS BEGIN declare @Len smallint
declare @Pos smallintset @Len = Len(@TrimChar)
set @Pos = 1while @Pos < Len(@TrimStr)
begin
if SubString(@TrimStr, @Pos, @Len) = @TrimChar
set @Pos = @Pos + @Len
else
break
endreturn SubString(@TrimStr, @Pos, Len(@TrimStr))END------------------------------------------------------------------------------------------
公司要把server2005转入oracle,所以函数和过程都要重新写,我是刚刚学oracle所以请大虾帮帮忙。下面是我写了一小段但是总是报错,还希望给与指教CREATE OR REPLACE FUNCTION TRIMSTARTSTRING
(
TrimStr IN varchar2,TrimChar IN varchar2, TrimOuer out VARCHAR2
)
Return
VARCHAR2(是这样写返回类型吗)
AS
v_Len NUMBER;
v_Pos NUMBER;BEGIN
v_len := LENGTH(trimstr);
v_pos := 1;......END TRIMSTARTSTRING;
declare @Pos smallintset @Len = Len(@TrimChar)
set @Pos = 1while @Pos < Len(@TrimStr)
begin
if SubString(@TrimStr, @Pos, @Len) = @TrimChar
set @Pos = @Pos + @Len
else
break
endreturn SubString(@TrimStr, @Pos, Len(@TrimStr))END------------------------------------------------------------------------------------------
公司要把server2005转入oracle,所以函数和过程都要重新写,我是刚刚学oracle所以请大虾帮帮忙。下面是我写了一小段但是总是报错,还希望给与指教CREATE OR REPLACE FUNCTION TRIMSTARTSTRING
(
TrimStr IN varchar2,TrimChar IN varchar2, TrimOuer out VARCHAR2
)
Return
VARCHAR2(是这样写返回类型吗)
AS
v_Len NUMBER;
v_Pos NUMBER;BEGIN
v_len := LENGTH(trimstr);
v_pos := 1;......END TRIMSTARTSTRING;
解决方案 »
- Oracle执行很快但很占资源.
- 有关oc4j与oracle失去连接后的问题
- (Help)如何通过PL/SQL把Oracle数据库关系表导出到Visco?(在线等)
- oracle 10g客户端有什么作用啊
- 再求层次结构的PL/SQL 查询语句,新要求
- 斑竹打击一下小广告吧
- insert into table_a(select * from table_b where create_date>=('20031001','yyyymmdd'))
- 请教:VC下应如何配置可以进行proc开发?(在线等)谢谢先
- 求教对工作区概念的理解
- 菜鸟请教!
- 帮忙解释下oracle执行计划的含义
- oracle10g中要将现有的表空间及其中所有的表导出成.sql文件,该怎么做?
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;
--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;
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;
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;