一、mysql
1.传入时间范围参数类型是字符串
<if test="startTime!=null and startTime.trim() neq \'\'">
and date_format(create_time,\'%Y-%m-%d %H:%i:%s\') >= str_to_date(#{startTime},\'%Y-%m-%d %H:%i:%s\')
</if>
<if test="endTime!=null and endTime.trim() neq \'\'">
and date_format(create_time,\'%Y-%m-%d %H:%i:%s\') <= str_to_date(#{endTime},\'%Y-%m-%d %H:%i:%s\')
</if>
2.传入时间范围参数类型是Date
<if test="startTime!=null and startTime.trim() neq \'\'">
and date_format(create_time,\'%Y-%m-%d %H:%i:%s\') >= date_format(#{startTime},\'%Y-%m-%d %H:%i:%s\')
</if>
<if test="endTime!=null and endTime.trim() neq \'\'">
and date_format(create_time,\'%Y-%m-%d %H:%i:%s\') <= date_format(#{endTime},\'%Y-%m-%d %H:%i:%s\')
</if>
3.Mybatis-Plus时间范围查询
Page<Record> page = new Page<>(page, limit);
IPage<Record> result = iRecordService.page(page,
new LambdaQueryWrapper<Record>()
.apply(StrUtil.isNotBlank(start_date),
"date_format (create_time,\'%Y-%m-%d\') >= date_format(\'" + start_date + "\',\'%Y-%m-%d\')")
.apply(StrUtil.isNotBlank(end_date),
"date_format (create_time,\'%Y-%m-%d\') <= date_format(\'" + end_date + "\',\'%Y-%m-%d\')")
.orderByDesc(HmsFaceDetectLog::getOptime));