У меня есть таблица, в которой я пытаюсь найти повторяющиеся строки, используя Common Table Expression. Поля, которые я, работающие с заключаются в следующих:CTE не возвращает ожидаемые значения
LogTime (ТипДанный: datetime2 (7), нулевой) ControllerIP (ТипДанный: nvchar (макс), нулевой)
У меня есть две строк данных, которые имеют насколько я могу судить. Я проверил LEN на обоих столбцах, чтобы убедиться, что они равны по длине, но строки не возвращаются как дубликаты при использовании CTE ниже. Есть ли что-то другое, что мне нужно сделать с столбцом LogTime? Я никогда не сталкивался с этим.
WITH CTE AS
(
SELECT rn = ROW_NUMBER()
OVER(
PARTITION BY LogTime , ControllerIP
ORDER BY Id ASC), *
FROM [DownTime].[dbo].[Records]
)
SELECT * FROM cte
WHERE FileName = '141101.CSV' AND rn > 1
Order By ID
GO
Кроме того, я использую Microsoft SQL Server 2008R2.
'LEN' не учитывает конечные пробелы (и других не печатаемых символов), поэтому 2 значения с одинаковой Len и что выглядит так же, не означает, что они имеют одни и те же данные – Lamak
Логически, ваш стратегия поиска дубликатов звучит. Либо LogTime, либо ControllerIP должны быть разными. –
Хорошо. Я так и думал. Я буду google, как это сделать и спуститься по этому пути. –