Ich habe zwei Abfragen. Kein Fehler in diesen Abfragen, nur die Ergebnisse sind unterschiedlich.Warum verschiedene Ergebnisse mit Mysql Abfragen
Abfrage 1
SELECT * FROM notices
WHERE CURDATE() < end_date
OR end_date = NULL
ORDER BY id
Ergebnis Abfrage One:
Abfrage 2
select * from notices
where CURDATE() < end_date or end_date='0000-00-00'
order by id
Ergebnis Abfrage zwei:
Tabellenstruktur
Frage
Meine Frage ist, warum Abfrage 1 nicht zeigt die gleichen Ergebnisse wie Abfrage 2 zeigt?
Im Wesentlichen Sie fragen, warum zwei unterschiedliche Abfragen zu unterschiedlichen Ergebnissen führen :) In der ersten Abfrage, Sie überprüfen, ob end_date NULL spezifisch ist, während die zweite prüft, ob die end_date auch ist gleich "0000-00-00". –
Aber wenn ich einfüge, benutze ich 'NULL' für das Enddatum, dann speichere es' 0000-00-00'. Also sage ich, dass während der Auswahl, warum es nicht mit 'NULL' arbeitet –
Es klingt jetzt wie die end_date Spalte enthält' NOT NULL DEFAULT '0000-00-00'' in seiner Definition. Das würde bedeuten, dass, wenn eine Zeile in die Datenbank eingefügt wird, "end_date" fehlt, wird stattdessen '0000-00-00' verwendet. Bitte aktualisieren Sie Ihre Frage mit Ihrem Tabellenschema –