SQL Date Einträge an Tag x

skuki

Aktives Mitglied
Hallo,

ich suche bitte eine Möglichkeit eine Abfrage zu gestalten die mir erlaubt alle Einträge die während des Tages x aufgenommen wurden abzurufen.

In der Datenbank werden die Einzelnen Zeitpunkte im Format JJJJ-MM-TT HH-MM-SS gespeichert. Im Java Code habe ich die Queries immer per Hand gefüttert mit ...
Code:
 date(p.dateTo) BETWEEN '2015-12-06 00:00:00' AND  '2015-12-06 23:59:59'

Jetzt möchte ich aber einen Eingabeparameter verwenden alla 2015-12-06. Da ich jedoch in der Datenbank auch die Zeit habe, weis ich jetzt nicht wie genau ich dies bewerkstellige. Ein >= Date würde mir zu viele Ergebnisse liefern. = Date liefert mir leider nichts.

Gibt es eine Date - Funktion die man hier verwenden kann und ich übersehe?

Vielen Dank für eure Hilfe!!
 
Wie wäre es einfach mit

Code:
date(p.dateTo) BETWEEN CONCAT(:date," 00:00:00") ...

Wobei date dein prepared statement für dein eingegebenes Datum ist.

Gruß

Claus
 
Danke für den Tipp! So einfach aber komplett logisch 🙂

Was ich jetzt nicht ganz verstehe:
Code:
BETWEEN CONCAT("2015-12-06","00:00:00") AND '2015-12-06 23:59:59'

funktioniert super.

Code:
BETWEEN CONCAT("2015-12-06","00:00:00") AND CONCAT("2015-12-06","23:59:59")

liefert nichts. Auch eine Klammer um das Ganze ändert nichts daran.


Bin auf die Lösung selbst gekommen.. - wenn auch durch Zufall 🙂

Code:
BETWEEN CONCAT("2015-12-06,00:00:00") AND CONCAT("2015-12-06,23:59:59")

Wenn man sich das aber ansieht, ist es eh auch klar.

Vielen Dank für deine Hilfe!


Nur noch kurz: Was nehme ich hier am Besten als Eingabeparameter eine Java - Methode. Einen String der die Form JJJJ-MM-TT hat oder ein SQL Date?

LG
 
Zuletzt bearbeitet:
Mich wundert das das funktioniert. Sollte es eigentlich nicht. Selbst das erste Beispiel dürfte nicht gehen. Was Du machst ist zwei Strings zusammen zu fügen. In deinem ersten Beispiel entsteht also der String "2015-12-0600:00:00". Fällt Dir was auf?
 
Hat mich auch gewundert, da es auch nicht mit Absicht war sondern ein Eingabefehler von mir. Eventuell eine MySQL Eigenheit?
 

Neue Themen


Zurück
Oben