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

紧急求助(求一更新语句),在线等待!

liyulei 发布于 2008-10-14 14:39, 1077 次点击
求一更新语句,具体如下:
字段ylxl,类型nvarchar(8),把值中的重复字符去掉 如:11366578更新为136578,11223344更新为1234
4 回复
#2
happynight2008-10-14 15:16
自己写个函数处理吧
思路 先Split 再Distinct 再合并输出
#3
徐强2008-10-14 17:05
写个函数处理:

declare @a varchar(8),@b varchar(8)
set @a='11122334'
while @a<>''
begin
select @b=isnull(@b,'')+case when len(@b)>0 and right(@b,1)=substring(@a,1,1) then '' else substring(@a,1,1) end,@a=right(@a,len(@a)-1)
print @b+'    '+@a
end
#4
徐强2008-10-14 17:07
楼主的意思应该是说紧挨着的 两个字符重复就过滤
#5
徐强2008-10-14 17:12
如果是要不管相邻不相邻的都去掉的话:
declare @a varchar(8),@b varchar(8)
set @a='11223314'
while @a<>''
begin
select @b=isnull(@b,'')+case when @b like '%'+substring(@a,1,1)+'%' then '' else substring(@a,1,1) end,@a=right(@a,len(@a)-1)
print @b+'    '+@a
end
1