我有一个带有“没有时区的时间戳”字段的 PostgreSQL 表。在某个给定点,我查询该表,并且我需要时间戳与执行查询在同一天的那些记录。这是代码:
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy/MM/dd HH:00:00");
DateTime dt = new DateTime();
String timeStampAsString = dt.toString(formatter);
String select = "SELECT * FROM " + tableName + " WHERE " + tableName + ".timestamp >= '"+ timeStampAsString + "'";
pst = dbConnection.prepareStatement(select);
pst.execute();
如您所见,我在这里使用 Joda,我还在其他地方填充了该表,所以我现在的格式是正确的(yyyy/MM/dd HH:00:00)。不太确定我是否可以直接将 long 传递给查询而不是转换为 String,但这现在并不困扰我。
由于查询条件 >= 而不是“NOW”时间戳,因此它不太可能返回某些内容。我需要的是在“NOW”时间戳的同一天内获取记录。我想我必须要求上限和下限,但我不确定如何计算此查询的下限......有什么想法吗?
谢谢!