MYSQL DateTime查询以获取特定日期的值

时间:2012-03-26 08:47:34

标签: mysql

让表格包含字段id,amount,createdDate,其中createdDate在timeStamp中

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

让createdDate成为'2012-3-23' 现在结果将是从00:00:00到23:59:59的特定日期('2012-3-23')的所有金额的总和。

另一种方式是

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

fromDate的值是'2012-3-23 0:0:0'并且表示为'2012-3-23 23:59:59'

现在结果将是从00:00:00到23:59:59的特定日期('2012-3-23')的所有金额的总和。

以上两个查询成功。

有没有其他方法可以在不使用的情况下获得结果 1.cast在查询中 2.如上所述,使用指定的时间值给出日期和时间。

2 个答案:

答案 0 :(得分:0)

使用DATE功能。

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

答案 1 :(得分:0)

使用DATE()函数:

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