Sql 如何在时间戳列上按日期选择?

Sql 如何在时间戳列上按日期选择?,sql,postgresql,Sql,Postgresql,我有一个sql表,其中的条目具有时间戳 现在我只想根据日期(特定于日期)选择条目,协商时间 这是可能的,还是我必须另外保存sql.date列才能获取特定日期的所有条目 @Entity public class MyEntry { @Temporal(TemporalType.TIMESTAMP) private Date date; } 此sql不会得到任何结果,因为查询只查找没有时间部分的日期 SELECT * FROM mytable wher date = '2015-1

我有一个sql表,其中的条目具有
时间戳

现在我只想根据日期(特定于日期)选择条目,协商时间

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

@Entity
public class MyEntry {
    @Temporal(TemporalType.TIMESTAMP)
    private Date date;
}
此sql不会得到任何结果,因为查询只查找没有时间部分的日期

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

您必须将其转换为带有时区的时间戳或timstamp

SELECT *
  FROM mytable
 WHERE date >= '2015-10-10 00:00:00.000'::timestamp
   AND date < '2015-10-11 00:00:00.000'::timestamp
如果查询是自动生成的,您应该考虑将生成基数从date更改为long

new Date().getTime();

@向下投票人:请给出原因
从myentry中选择*,其中日期::date=date'2015-10-10'
。顺便说一句:
date
是一个可怕的列名称。它不仅是一个保留字,而且不记录列的含义。是“截止日期”、“开始日期”、“发布日期”吗?对不起,是的,你是对的,在我的应用程序中,该字段当然不仅仅命名为
date
。!很抱歉我忽略了这一点。我换了工作
new Date().getTime();