Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

função mySQL str_to_date() retorna erro


Desative NO_ZERO_DATE Modo SQL:
set @old_sql_mode = @@sql_mode; 
set sql_mode = ''; 

Execute sua declaração:
UPDATE Estimates
SET CreatedDate = NULLIF(str_to_date(CreatedDate, '%c/%e/%y'), FROM_DAYS(0))

Em seguida, habilite os modos SQL originais:
set sql_mode = @old_sql_mode;

Desativando NO_ZERO_DATE modo fará com que STR_TO_DATE retornar data zero 0000-00-00 para strings de data inválidas, o mesmo valor é retornado por FROM_DAYS(0) . Então NULLIF irá converter zero datas para NULL .

Esta resposta foi útil.