2014-12-19 120 views
-1

我有一个sql表,其条目有timestamp如何在时间戳列上按日期进行选择?

现在我想根据日期(特定日期)选择条目,忽略时间。

这是可能的,还是我必须另外保存sql.date列以获取特定日期的所有条目?

@Entity 
public class MyEntry { 
    @Temporal(TemporalType.TIMESTAMP) 
    private Date date; 
} 

这个sql将得不到结果,因为查询只查找没有时间部分的日期。

SELECT * FROM mytable wher date = '2015-10-10' 
+0

@downvoter:请给个理由 – membersound 2014-12-19 09:51:51

+1

'select * from myentry where date:date = date'2015-10-10''。顺便说一句:'日期'是一个列的可怕名称。它不仅是一个保留字,也不记录列的含义。它是“到期日期”,“开始日期”,“发布日期”,....? – 2014-12-19 10:02:09

+0

对不起,是的,在我的应用程序中,该字段当然不会被命名为“date”。 – membersound 2014-12-19 12:30:25

回答

0

你要投这一个时间戳或timstamp与时区

SELECT * 
    FROM mytable 
WHERE date >= '2015-10-10 00:00:00.000'::timestamp 
    AND date < '2015-10-11 00:00:00.000'::timestamp 

SELECT * 
    FROM mytable 
WHERE date BETWEEN '2015-10-10 00:00:00.000'::timestamp AND '2015-10-11 00:00:00.000'::timestamp 

如果查询自动生成的,你应该想想从日期改变一代基地长。

new Date().getTime(); 
+0

对不起。我忽略了这一点。我改变我的帖子 – Niels 2014-12-19 10:06:03

相关问题