SQL删除字段内的重复内容

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:03:15
数据库版本:SQL2000
当前表中columnrepeat列的数据如下所示:
11,11,17,18,
19,
11,11,17,18,11,
11,11,17,18,11,
11,11,17,18,11,
11,11,17,18,11,
4,5,11,11,17,18,
11,11,
1,18,1,11,11,
例如最后一行(1,18,1,11,11,),我希望删除重复记录后的结果为:1,18,11
请高手指点,我的编程语言是ASP,或者使用SQL存储过程处理也行,只要能达到预期效果。不甚感激!
第一、二楼理解有误。第三楼理解正确。
多谢四楼!
但现在需要增加一个判断,就是11,11,17,18,11, 可能没有最末尾的逗号(",")。我的思路是在set @T_char='11,11,17,18,11,'
这句赋值的时候加以判断,如果没有逗号,则自动加上。否则,程序会死循环。不知这样是否妥当。

先占个位置。。 忙完了马上来~~~

--补充-----------------------------
declare @T_char varchar(100),@Temp_char varchar(100),@ST_char varchar(100),@LT_char varchar(100),@Temp_Tchar varchar(100)
Begin
set @T_char='11,11,17,18,11,'
set @Temp_Tchar=''
while @T_char<>''
Begin
IF charindex(',',@T_char)>0
set @ST_char=substring(@T_char,1,charindex(',',@T_char)-1)
set @LT_char=substring(@T_char,charindex(',',@T_char)+1,len(@T_char))
IF charindex(@ST_char+',',@LT_char)>0
set @T_char=substring(@T_char,charindex(',',@T_char)+1,len(@T_char))
Else
begin
set @Temp_Tchar=@Temp_Tchar+@ST_char+';'
set @T_char=substring(@T_char,charindex(',',@T_char)+1,len(@T_char))
print @Temp_Tchar
print '------------------'
end
End
End
你看下大概就明白了。。
--再此补充------
恩,当然可以啦。。 一个很简单的判断而已
IF