Schakel NO_ZERO_DATE
uit
SQL-modus:
set @old_sql_mode = @@sql_mode;
set sql_mode = '';
Voer uw verklaring uit:
UPDATE Estimates
SET CreatedDate = NULLIF(str_to_date(CreatedDate, '%c/%e/%y'), FROM_DAYS(0))
Schakel vervolgens de originele SQL-modi in:
set sql_mode = @old_sql_mode;
NO_ZERO_DATE
uitschakelen modus maakt STR_TO_DATE
retournuldatum 0000-00-00
voor ongeldige datumreeksen wordt dezelfde waarde geretourneerd door FROM_DAYS(0)
. Dus NULLIF
converteert nuldatums naar NULL
.
Dit antwoord was behulpzaam.