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

La función mySQL str_to_date() devuelve un error

Deshabilitar NO_ZERO_DATE Modo SQL:

set @old_sql_mode = @@sql_mode; 
set sql_mode = ''; 

Ejecute su declaración:

UPDATE Estimates
SET CreatedDate = NULLIF(str_to_date(CreatedDate, '%c/%e/%y'), FROM_DAYS(0))

Luego habilite los modos SQL originales:

set sql_mode = @old_sql_mode;

Desactivando NO_ZERO_DATE el modo hará STR_TO_DATE devolver fecha cero 0000-00-00 para cadenas de fecha no válidas, el mismo valor es devuelto por FROM_DAYS(0) . Entonces NULLIF convertirá fechas cero a NULL .

Esta respuesta fue útil.