2012-03-26 18 views
1

上の値は、テーブルのフィールドIDを含んでみましょう取得するには、CreatedDateにタイムスタンプMYSQLのDateTimeクエリ量、特定の日付

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

あるCreatedDateにはCreatedDateには、今すぐ「2012年3月23日」 とします結果は、時刻00:00:00から23:59:59までの特定の日付( '2012-3-23')のすべての金額の合計になります。

別の方法は、fromDateからis'2012-3-23の

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

値0によってである:0:23時59' 分59秒as'2012-3-23とtoDateまで0'

結果は、時刻00:00:00から23:59:59までの特定の日付( '2012-3-23')のすべての金額の合計になります。

上記2つのクエリは正常に機能します。

は、前述したように、指定された時間値でfromDateからtoDateまでを2.Givingクエリ で 1.castを使用せずに結果を得るために他の方法があります。

答えて

0

使用DATE()関数:

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

DATE機能を使用してください。

SELECT SUM(t.amount) FROM tablename t WHERE DATE(createdDate) = :createdDate 
関連する問題