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.