注册 登录
编程论坛 SQL Server论坛

SQL删其中的字符~~~求教各位,给点提示!!!

huwengui 发布于 2012-12-06 19:21, 435 次点击
例如:“slelce  sum(aa+bb)  as fdsf ,  sum(qq+ff) as rrgrgr, abbb as frs


怎样把as fdsf,as rrgrgr ,删掉,如果是在最后删除 as...

SQL怎么写???







[ 本帖最后由 huwengui 于 2012-12-7 21:50 编辑 ]
2 回复
#2
happynight2012-12-06 20:11
用CASE加字串处理函数吧 没调试环境不能帮你写
#3
huwengui2012-12-08 18:51
alter  Function quas(@sql nvarchar(1000))   
returns varchar(300)  
as   
begin

declare @i int
declare @j int

set @sql=SUBSTRING(@sql,1,charindex('from',@sql)-1)

declare @ss as nvarchar(100)
set @ss=''
declare @del as nvarchar(100)
set @del=''
select @i=charindex(',',@sql)
select @j=charindex('as',@sql)
declare @count int
set @count=5
while isnull(@i,0)>0  and isnull(@j,0)>0 and @count>0
begin

if @i<@j
begin
set @ss=@ss+substring(@sql,1,charindex('as',@sql)-1)+','
set @sql=REPLACE(@sql,substring(@sql,1,charindex('as',@sql)-1),'')
end
if @i>@j
begin
set @del=SUBSTRING(@sql,@j,@i-1)
set @sql=REPLACE(@sql,@del,'')
end
set @count=@count-1
set @del=''
select @i=charindex(',',@sql)
select @j=charindex('as',@sql)
end

declare @k int
select @k=charindex('as',@sql)
if isnull(@k,0)>0
begin
set @ss=@ss+SUBSTRING(@sql,1,@k-1)
end
else
begin
set @ss=@ss+@sql
end

select @ss=replace(@ss,',,',',')  
--select @ss

return @ss   
end








[ 本帖最后由 huwengui 于 2012-12-8 20:02 编辑 ]
1