Не хочу, чтобы тебя понизили за то, что ты прыгнул на исправлении основной проблемы, но ...
Если у вас есть все эти различные форматы дат прямо сейчас, мне кажется, что это означает, что другие приложения хорошо работают с различными форматами и могут анализировать, понимать или, по крайней мере, представлять дату в любой форме, в которой она находится как строка. Таким образом, в качестве строки другие приложения, использующие эти данные, могут принимать их в любой из форм, в которых они сейчас находятся.
Так что мне кажется, что если бы все данные о дате продолжали быть строками, а просто оказались в одном конкретном макете (скажем, международный YYYY-MM-DD), то все остальные приложения были бы просто такой же счастливый формат, как и любой другой, и любой скрипт (например, ваш), который должен был проанализировать фактическое значение, мог бы сделать это проще.
Итак, мой вопрос: разрешено ли вам чистить и переформатировать строки, оставляя их в строках, чтобы они все выглядели одинаково? Я имею в виду запустить задание очистки перед вашим заданием (либо как отдельное задание обслуживания, либо непосредственно перед работой с данными), которое проверяет, соответствует ли дата вашему формату, и переформатирует ее и сохраняет ее в базе данных в виде строки в лучший формат, если это не так.