SQL自定义函数:循环不停止?
Hotel表有一列Brief是酒店介绍,text类型,字段中的数据带HTML标签
使用分页控件AspnetPager,分页显示多个截取Brief列内容一定长度的介绍的记录,写了一个SQL函数去Brief中的标记,但是执行后长时间执行无结果,怀疑是循环有问题,贴出如下,请高手指正
--函数
create function dbo.a(@start int,@end int,@text varchar(2000) ,@b varchar(2000))
returns varchar(2000)
as
begin
while(@start!=0)
begin
set @b= substring(@text,@end+1,len(@text))
set @start=CHARINDEX('<',@b)
end
return @b
end
--执行
declare @start int,@end int,@text varchar(2000),@b varchar(2000)
select @text=sHotel_Brief from Hotel_Info where id=2
set @text=replace(@text,' ','')
select @start=CHARINDEX('<',@text)
from Hotel_Info
where id=2
select @end=CHARINDEX('>',@text)
from Hotel_Info
where id=2
select dbo.a(@start,@end,@text,@b)
--删除
drop function dbo.a