Чтобы найти записи с одинаковой датой / временем с точностью до секунды, но с разными миллисекундами, вы можете сравнить разные записи, соединив таблицу с самим собой
SELECT A.ts, B.ts
FROM
Test A
INNER JOIN Test B
ON TO_CHAR(A.ts, 'YYYY-MM-DD HH24:MI:SS') = TO_CHAR(B.ts, 'YYYY-MM-DD HH24:MI:SS')
WHERE
A.ts < B.ts
ORDER BY
A.ts, B.ts;
TO_CHAR
усекает миллисекунды.Это важно, потому что функции этого раунда могут давать разные секунды.Например, CAST(ts as timestamp(0))
раундов, а это не то, что нужно.
В примере по ссылке ниже есть запись с 999 миллисекундами для проверки этого.
См. Пример в SQL Fiddle..