У меня есть таблица с 9 миллионами записей.Каждый из них имеет поле "BirthDate", которое хранится как varchar.Я пытаюсь выбрать всех, где дата рождения 25 лет или меньше (все люди 25 или младше).Это терпит неудачу, потому что где-то в этой чудовищности таблицы есть недопустимое значение.
select COUNT(*) from LeadSplit where CAST(LeadSplit.Birthdate as datetime) > DATEADD(yy, -26, getdate()) and Birthdate is not null
Ошибка:
Msg 242, Level 16, State 3, Line 1
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
Я в растерянности относительно того, как найти строку с недопустимым значением, а также как с этим бороться.Я хотел бы просто проигнорировать это или исправить это.