2012-03-26 9 views
1

Lassen Sie die Tabelle enthält die Felder ID, Menge, CreatedDate wo CreatedDate in timestamp istMYSQL Datetime-Abfragewerte auf dem bestimmten Datum erhalten

**1.**em.createNamedQuery("select Sum(t.amount) from tablename t 
WHERE cast(t.createdDate as date) = :createdDate")** 

die CreatedDate ‚2012.03.23‘ Jetzt werden Lassen Sie die Ergebnis wäre die Summe aller Beträge zum jeweiligen Datum ('2012-3-23') von 00:00:00 Uhr bis 23:59:59.

Der andere Weg ist durch

**2.em.createNamedQuery("select Sum(t.amount) from tablename t 
WHERE t.createdDate between :fromDate and :todate")** 

Die Werte von VonDatum is'2012-3-23 0: 0: 0' und todate as'2012-3-23 23.59.59'

Jetzt wäre das Ergebnis die Summe aller Beträge an dem bestimmten Datum ('2012-3-23') von Zeit 00:00:00 bis 23:59:59.

Die obigen zwei Abfragen funktionieren erfolgreich.

Gibt es einen anderen Weg, um das Ergebnis zu erhalten, ohne 1.cast in der Abfrage mit 2.Giving dem from und todate mit den angegebenen Zeitwert wie oben erwähnt.

Antwort

0

Verwendung DATE() Funktion:

select DATE(createdDate), SUM(t.amount) from tableName t 
where DATE(createdDate) =:createdDate 
0

Verwenden Sie DATE Funktion.

SELECT SUM(t.amount) FROM tablename t WHERE DATE(createdDate) = :createdDate 
Verwandte Themen