首页 > 解决方案 > 在 MSSQL 中查找“LIKE”重复项

问题描述

我有一个 MSSQL 数据库,并且有这个带有 ID 的列。有些是 {}-包裹在 ID 周围,有些则不是。

我需要找出是否有重复条目,例如:“{abcd}”和“abcd”在一列中。

显然我不知道'abcd'......

有没有一种简单的方法可以加入同一列并搜索“LIKE”重复项?内部连接对我不起作用...

标签: sqlsql-server

解决方案


你可以这样做:

SELECT Id
FROM TableName AS T0
WHERE EXISTS
(
    SELECT 1
    FROM TableName AS T1
    WHERE T0.Id = '{' + T1.Id + '}'
    -- Uncomment the next row if you want all duplicates (with or without brackets):
    -- OR '{' + T0.Id + '}' = T1.Id
)

这将返回 id 用大括号括起来并且只有不带括号的重复 id 的所有记录。


推荐阅读