sql >> Base de Datos >  >> RDS >> Mysql

Convertir cadena con formato diferente a la fecha

Hay un truco para detectar una fecha válida en página man . Puede usarlo para determinar si un STR_TO_DATE formato trabajado.

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

Pon un formato para todos los que esperas. Prueba como loco.

Buena suerte.

(¡Ah, y felicidades por intentar limpiar un esquema incorrecto!)