Sql 如何在时间戳列上按日期选择?
我有一个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.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();