MySQL HQL Query Tag von Date

Eldorado

Bekanntes Mitglied
Hi,
ich möchte mit folgender Zeile erreichen, dass ich eine Liste von "Sale"s bekomme, bei denen die user_id und der Tag des Dates übereinstimmen. Leider bekomme ich immer nur das "Sale" zurück bei dem das Datum komplett übereinstimmt und nicht nur der Tag. Wäre nett, wenn ihr meinen Fehler findet:
Java:
session.createQuery("from Sale where user_id=:id and day(date)=day(:date)").setInteger("id", gui.getSelectedUserIdInSettleMenu()).setDate("date", gui.getSelectedDateInSettleMenu()).list();
mfg
Eldorado
 
Zuletzt bearbeitet von einem Moderator:
Ohne HQL dabei genau zu kennen sieht es mir so aus als wenn du das Date entsprechende formatieren musst, sprich bei Eingabe und Datensatz die Zeit auf 00:00:00 setzen oder sowas wie Oracles trunc(date) verwenden.
 
Den Ansatz hatte ich eben auch und dachte das würde die Funktion day() machen. Bitte um Aufklärung wenn dem nicht so ist 🙂. Aber schon mal danke!
mfg
Eldorado
 
DAY ist ein synonym für DAYOFMONTH, von daher sollte es eigentlich gehn. Du kannst ja mal testweise es so probieren:

SQL:
DATE_FORMAT(date, '%Y-%m-%d') = DATE_FORMAT(:date, '%Y-%m-%d')

Evtl verschiedene Zeitzonen im Client und Server die ein Dateshift verursachen?
 
Hab grad wegen etwas anderem die Datenbank geleert und ein paar neue Einträge angelegt. Mit den neuen Einträgen funktioniert das mit day() auch ohne Probleme. Weiß nicht was das vorher war... Danke für eure Bemühungen und viel Spaß mit meiner äußerst unauffälligen Signatur 😉
 

Zurück
Oben