繁体   English   中英

按日期获取查询 - 错误:运算符不存在:没有时区的时间戳~~未知

[英]Getting query by date - ERROR: operator does not exist: timestamp without time zone ~~ unknown

我试图在今天的日期之前得到一个数字总和。 我的方法是使用 LocalDateTime 格式如下

yyyy-MM-dd HH:mm:ss

我从服务器上选择的日期是这种格式

2020-03-26 12:36:14.48947

由于日期变化不断变化,我的兴趣是处理这个2020-03-26,因为两者都存在于格式化的今天日期和来自服务器的日期

这是我正在使用的查询

"... AND p.regDate LIKE :todayDate..." 

这是 DateTimeFormertter

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime today = null;
today = LocalDateTime.now();
System.out.println("here is today " + today);

使用上述方法,我收到错误消息。 请问我可以从查询中获取今天的日期吗

首先,您需要一个LocalDate而不是LocalDateTime到您的查询:

LocalDate today = LocalDate.now(); // current date "2020-03-26"
// or a custom LocalDate
LocalDate today = LocalDate.of(2020, Month.MARCH, 26);

然后,要从数据库中的日期时间获取日期部分,您可以使用:

"... AND DATE(p.regDate) = :todayDate..." 

其中: DATE(p.regDate)仅提取日期部分,与= not LIKE进行比较

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM