在数据库中,createdDt 的存储格式如下:
15-01-20 10:43:20.394000000 AM
我将“created”传递为dd-mm-yyyy
我想从表中获取匹配的日期(不比较时间)
@Query("SELECT p FROM ABC p WHERE ( COALESCE(:created) is null or p.createdDt = :created) order by p.createdDt desc")
List<ABC> filterABC(@Param("created") Date created);
如何解析查询中的日期?
最佳答案
您可以尝试使用特定 DBMS 内容的 native 查询来提取日期部分。
@Query(value = "SELECT * from ABC where DATE_FORMAT(createdDt, '%d-%m-%Y') = ?1", nativeQuery = true)
List<ABC> filterABC(Date created);
DATE_FORMAT是MySQL特定的函数。根据您的 DBMS 使用适当的日期函数
关于java - JPA 查询格式日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59753961/