Auge: mysql BETWEEN

Beitrag lesen

Hallo

na prima, dann haben wir ja den Fehler gefunden. Denn Ihr habt beide recht, dass in meiner Spalte auch Uhrzeiten drin stehen, womit dann (praktisch gesehen) alle vom 30.6 rausfallen.

Nächste Frage: Wie behebe ich den Fehler am einfachsten? Klar, ich könnte BETWEEN durch >= und <= ersetzen.

Ja, könntest du.

Geht es auch besser?

Natürlich. Es spricht nichts dagegen, Zeitstempel in BETWEEN mitsamt einer Uhrzeit zu benutzen.

$d = new DateTime("$Year-$month");
$lastday = $d->format('Y-m-t');
$firstday = $d->format('Y-m-d');

$query= "SELECT
ID,
rg 
WHERE Erstelldatum BETWEEN '".$firstday."' AND '".$lastday."'";

Wenn du die aber weiterhin weglässt, wird das nichts.

$d = new DateTime("$Year-$month");

// Umsortiert, weil der erste Tag vor dem letzten kommt.
// Die Uhrzeit '00:00:00' ist optional, könnte aber wie bei $lastday angegeben werden 
$firstday = $d->format('Y-m-d');

// Hier habe ich einfach eine passende Uhrzeit rangehängt
$lastday = $d->format('Y-m-t 23:59:59');

$query= "SELECT
ID,
rg 
WHERE Erstelldatum BETWEEN '".$firstday."' AND '".$lastday."'";

Tschö, Auge

--
200 ist das neue 35.