sql - 删除 SQL Server 中的重复字符串

标签 sql sql-server

我想删除给定表列中的重复字符串。

以下是一些示例:

Input     | Expected Output
---------------------------
XYXY      | XY
AA        | A
XYZXYZ    | XYZ
ABCABCABC | ABC

我该怎么做?

最佳答案

此查询将对您有所帮助。

从表名中选择 dbo.RemoveDuplicate(ColumnName, VariableLength)。

示例: SELECT dbo.RemoveDuplicate(StudentName, 20) FROM Students。

去除重复字符串的函数:

CREATE FUNCTION RemoveDuplicate (@sInputString AS VARCHAR(10), @nLength AS INT)
RETURNS VARCHAR(Max) AS  
BEGIN
    DECLARE @count INT
    DECLARE @new_string VARCHAR(Max)
    SET @count=1
    WHILE ( @count <=  @nLength )
      BEGIN
          IF ( @new_string IS NULL )
            BEGIN
                SET @new_string=''
            END
          SET @new_string=@new_string + Substring(@sInputString, 1, 1)
          SET @sInputString=REPLACE(@sInputString, Substring(@sInputString, 1, 1), '')
          SET @count=@count + 1
      END
    RETURN @new_string 
END

关于sql - 删除 SQL Server 中的重复字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26651573/

相关文章:

sql - 在 Oracle 中使用嵌套子查询编写一致性

java - 如何在Java derby中自动增加数据库列?

sql-server - 指定数据库名称与前一年

sql - 如何在 Multi-Tenancy 数据库中使字段 NOT NULL

sql - T-SQL 结果写入列

c# - 使用 wpf C# Ado.Net 数据实体从 SQL Server 获取图像到数据网格中

mysql - 从 UNIX_TIMESTAMP 中减去一周

sql - sql server中varchar(500)和varchar(max)的区别

c# - .NET 4.0 C# 初始化字符串不符合登录错误

sql-server - tsql:将列转换为 xml 列,每行一个 xml