Det finns ett knep för att upptäcka ett giltigt datum på man page
. Du kan använda den för att avgöra om en STR_TO_DATE
formatet fungerade.
select foo,
case when length(date(str_to_date(foo,"%Y-%m-%d %H:%i:%S"))) is not null then str_to_date(foo,"%Y-%m-%d %H:%i:%S")
when length(date(str_to_date(foo,"%b %d %Y %h:%i%p"))) is not null then str_to_date(foo,"%b %d %Y %h:%i%p")
end as newdate
from my_table
Sätt ett format för alla du förväntar dig. Testa som en galning.
Lycka till.
(Åh, och grattis för att du försöker städa bort ett dåligt schema!)