Dette er faktisk på grund af SQL-tilstanden NO_ZERO_DATE . Det burde du have set, da Anand Rockzz linkede til manualen, men det link er kun halvdelen af forklaringen. Fra og med MySQL 5.7.4 er indstillingen forældet. I dit første eksempel sætter du en dato; i den anden, NO_ZERO_DATE forårsager returnering af NULL, fordi du ikke angiver en dato. Startende med 5.7.8, NO_ZERO_DATE og NO_ZERO_IN_DATE er blevet inkluderet med standardværdien sql_mode. Ifølge manualen , ser det ud som om udfasningen og fjernelsen er blevet delvist vendt tilbage (startende med 5.7.8), så du kan muligvis udtrykkeligt indstille dette i din my.cnf (eller per-session).
Du bør også henvise til manualen vedrørende NO_ZERO_DATE direktiv.