簡體   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