Начиная с SQL Server 2012, у вас есть TRY_PARSE / CONVERT / CAST, который может помочь.Вы видите эту ошибку, потому что что-то не может быть явно приведено к типу даты.
SELECT CONVERT(DATE, 'This will break!')
SELECT *
FROM your_table
WHERE TRY_PARSE(your_column AS DATE) IS NULL
Второй запрос вернет все ваши значения, которые не могут быть преобразованы в тип даты.Таким образом, вы можете добавить это в конец вашего запроса, чтобы отфильтровать их все:
AND TRY_PARSE(your_column AS DATE) IS NOT NULL
Это удалит их из ваших результатов, поэтому будьте осторожны с этим, если вы хотите каким-то образом захватить эти значения.