有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

fomat日期的java 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);

如何在查询中解析日期


共 (1) 个答案

  1. # 1 楼答案

    您可以尝试使用本机查询,使用特定的DBMS内容来提取日期部分

    @Query(value = "SELECT * from ABC where DATE_FORMAT(createdDt, '%d-%m-%Y') = ?1", nativeQuery = true) List<ABC> filterABC(Date created);

    日期格式是MySQL特有的功能。根据DBMS使用适当的日期函数