java - JPA 查询格式日期

标签 java spring spring-data-jpa

在数据库中,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/

相关文章:

java - 在没有 kotlin 代码的情况下,我真的需要使用 kapt 吗?

java - java中的泛型: identify Type of T

java - 将 xml 发布到 spring REST 端点不会被解码到相关的 Java 对象中

java.lang.NoSuchFieldError : ACCEPT_CASE_INSENSITIVE_VALUES

java - Spring Boot JPA删除返回200 ok但不能从数据库中删除

java - Spring JPA native 查询调用存储过程给出 “No converter found capable of converting from type”

java - ArrayList<String> 未设置最小容量

java - jqGrid 无法使用 @Transactional 加载

java - 如何在java spring中运行预定的作业?

java - 如何将行从选择查询动态插入到 java 中的另一个表?