java SpringBoot数据库查询 时间范围查询

exTime的类型为varchar 存储的数据格式为yyy-MM-ddTHH:mm:ss,查询时传进来的时间格式也需要为yyy-MM-ddTHH:mm:ss格式

java 复制代码
    @Query(value = "SELECT * FROM test_fbep  fbep WHERE delFlag = 1 " +
            "AND IF(?1 != '' AND ?1 IS NOT NULL, fbep.passId = ?1, TRUE) " +
            "AND IF(?2 != '' AND ?2 IS NOT NULL, fbep.vehicleId LIKE CONCAT('%', ?2, '%'), TRUE) " +
            "AND IF(?3 != '' AND ?3 IS NOT NULL, STR_TO_DATE(fbep.exTime, '%Y-%m-%dT%H:%i:%s') >= STR_TO_DATE(?3, '%Y-%m-%dT%H:%i:%s'), TRUE) " +
            "AND IF(?4 != '' AND ?4 IS NOT NULL, STR_TO_DATE(fbep.exTime, '%Y-%m-%dT%H:%i:%s') <= STR_TO_DATE(?4, '%Y-%m-%dT%H:%i:%s'), TRUE) " +
            "ORDER BY STR_TO_DATE(fbep.exTime, '%Y-%m-%dT%H:%i:%s') ASC", nativeQuery = true)
    List<InfoVO> findListInfo(
            @Param("passId") String passId,
            @Param("vehicleId") String vehicleId,
            @Param("exStartTime") String exStartTime,
            @Param("exEndTime") String exEndTime);

exTime的类型为datetime 存储的数据格式为yyy-MM-dd HH:mm:ss,查询时传进来的时间格式也需要为yyy-MM-dd HH:mm:ss格式

java 复制代码
    @Query(value = "SELECT * FROM test_fbep fbep WHERE delFlag = 1 " +
            "AND IF(?1 != '' AND ?1 IS NOT NULL, fbep.passId = ?1, TRUE) " +
            "AND IF(?2 != '' AND ?2 IS NOT NULL, fbep.vehicleId LIKE CONCAT('%', ?2, '%'), TRUE) " +
            "AND IF(?3 != '' AND ?3 IS NOT NULL, fbep.businessDateTime >= ?3, TRUE) " +
            "AND IF(?4 != '' AND ?4 IS NOT NULL, fbep.businessDateTime <= ?4, TRUE) " +
            "ORDER BY fbep.businessDateTime ASC", nativeQuery = true)
    List<InfoVO> findListInfo2(
            @Param("passId") String passId,
            @Param("vehicleId") String vehicleId,
            @Param("exStartTime") String exStartTime,
            @Param("exEndTime") String exEndTime);