У меня есть таблица 300.000 строк;один из столбцов - это varchar (), но он действительно содержит дату xx / xx / xxxx или x / x / xxxx или аналогичную.Но выполнение следующего теста приводит к ошибке:
SELECT CAST(MyDate as Datetime) FROM MyTable
Проблема в том, что она не сообщает мне, в какой строке ...
Я выполнил серию «ручных» обновлений пробным способомошибка и выполнил простые обновления, чтобы исправить их, но должны быть некоторые странные значения, которые нужно либо удалить, либо исправить.
Например, я выполнил простой тест, который исправил около 40 строк:
UPDATE MyTable SET MyDate = REPLACE(MyDate, '/000','/200') FROM MyTable WHERE MyDate like ('%/000%’)
UPDATE MyTable SET MyDate = REPLACE(MyDate, '/190','/199') FROM MyTable WHERE MyDate like ('%/190%’)
Это исправило довольно много странных строк, у которых были даты, такие как 01/01/0003 и так далее.(Даты варьируются с 1998 по 2010 год).
Однако я хотел бы знать, , какие строки терпят неудачу в вышеупомянутом выборе.
Как лучше всего распечатать их, чтобы я мог их удалить, отредактировать или посмотреть, что делать?Спасибо.