一、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));