Disattiva NO_ZERO_DATE
Modalità SQL:
set @old_sql_mode = @@sql_mode;
set sql_mode = '';
Esegui la tua dichiarazione:
UPDATE Estimates
SET CreatedDate = NULLIF(str_to_date(CreatedDate, '%c/%e/%y'), FROM_DAYS(0))
Quindi abilita le modalità SQL originali:
set sql_mode = @old_sql_mode;
Disattivazione di NO_ZERO_DATE la modalità farà STR_TO_DATE restituire la data zero 0000-00-00 per stringhe di date non valide, lo stesso valore viene restituito da FROM_DAYS(0) . Quindi NULLIF convertirà zero date in NULL .
Questa risposta è stato utile.