Nonaktifkan NO_ZERO_DATE
Modus SQL:
set @old_sql_mode = @@sql_mode;
set sql_mode = '';
Jalankan pernyataan Anda:
UPDATE Estimates
SET CreatedDate = NULLIF(str_to_date(CreatedDate, '%c/%e/%y'), FROM_DAYS(0))
Kemudian aktifkan mode SQL asli:
set sql_mode = @old_sql_mode;
Menonaktifkan NO_ZERO_DATE mode akan membuat STR_TO_DATE kembalikan tanggal nol 0000-00-00 untuk string tanggal yang tidak valid, nilai yang sama dikembalikan oleh FROM_DAYS(0) . Jadi NULLIF akan mengonversi tanggal nol menjadi NULL .
Jawaban ini sangat membantu.