日期:2014-05-18  浏览次数:20454 次

问一个关于自定义函数的问题
写了一个函数如下
create function rpStr
(
@str varchar(300)
)
returns varchar(300) 
as 
begin
set @str = replace(@str,">","")
set @str = replace(@str,"<","")
set @str = Replace(@str,")","")
set @str = Replace(@str,"(","")
return @str
end 

运行时出错如下:

消息 1038,级别 15,状态 3,过程 rpStr,第 10 行
不能使用空白的对象或列名。如果必要,请使用一个空格。
消息 1038,级别 15,状态 3,过程 rpStr,第 11 行
不能使用空白的对象或列名。如果必要,请使用一个空格。
消息 1038,级别 15,状态 3,过程 rpStr,第 12 行
不能使用空白的对象或列名。如果必要,请使用一个空格。


==================


为什么会出上面的错,怎么改,谢了先。

------解决方案--------------------
换成这样试试
create function rpStr 

@str varchar(300) 

returns varchar(300)
as
begin 
set @str = replace(@str,' >','') 
set @str = replace(@str,' <','') 
set @str = Replace(@str,')','') 
set @str = Replace(@str,'(','') 
return @str 
end