Короче говоря, у меня есть база данных SQL Server с полями varchar вместо даты и времени (не спрашивайте, это длинная история, которую нельзя исправить). Каким-то образом мы недавно получили странные / случайные символы, вставленные в эти поля вместо того, что должно быть там (NULL, '' или YYYY-MM-DD). Примерно так: '? + X' с высокобитными символами ascii.
В отчете используется этот запрос, чтобы помочь объединить данные во что-то пригодное для использования (здесь публикуются только соответствующие части):
SELECT CASE WHEN c.CallStatus = 'Closed' THEN CAST(c.ClosedDate + ' ' + c.ClosedTime as datetime) ELSE NULL END as 'Closed Date'
WHERE CAST(c.closeddate AS DATETIME) BETWEEN @StartDate AND @EndDate
но он задыхается от этих новых неверных данных.
Мой вопрос такой:
Как я могу обновить запрос, чтобы игнорировать неверные данные, чтобы я мог запускать отчеты при поиске источника неверных данных? Мой первый приоритет - заставить отчеты работать, второй - найти и уничтожить источник неверных данных.