Il existe une astuce pour détecter une date valide sur le page de manuel
. Vous pouvez l'utiliser pour déterminer si un STR_TO_DATE
format a fonctionné.
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
Mettez un format pour tous ceux que vous attendez. Testez comme un fou.
Bonne chance.
(Oh, et félicitations pour avoir essayé de nettoyer un mauvais schéma !)