我们说我有数据:
heloo
cuube
triniity
如何编写将替换那些"加倍"的脚本只有一个人物?因此,上述数据集的结果将是:
helo
cube
trinity
通常我发布了一些我尝试实现此目的的脚本,但这次我无法想到。
答案 0 :(得分:1)
这应该有效:
CREATE PROCEDURE remove_duplicate_characters(@string VARCHAR(100))
AS
DECLARE @result VARCHAR(100)
SET @result=''
SELECT @result=@result+MIN(SUBSTRING(@string ,number,1)) FROM
(
SELECT number FROM master..spt_values WHERE type='p' AND number BETWEEN 1 AND len(@string )) AS t GROUP BY SUBSTRING(@string,number,1) ORDER BY MIN(number)
)
SELECT @result
GO
然后你这样称呼它:
EXEC remove_duplicate_characters 'heloo'
答案 1 :(得分:0)
此脚本不依赖于对主函数的访问,而只依赖于t-sql字符串函数。
declare @word varchar(100) = 'aaaacuuuuuubeeeee', @result varchar(100) = ''
declare @letter char, @idx int = 0, @lastletter char = ''
while(@idx <= len(@word))
begin
select @letter = substring(@word,@idx,1)
if (@letter != @lastletter)
begin
select @result = concat(@result,@letter)
end
select @lastletter = @letter,@idx = @idx + 1
end
select @result