现在在实现中写一段查询代码,要求查询昨天的数据,但是可用的时间字段只有创建时间一个,格式带有时分秒
PlgCmdtyInfVO plgCmdtyInfVO = new PlgCmdtyInfVO();
plgCmdtyInfVO.setCreateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
List<Map<String, Object>> intrsrList = this.bizPlgCmdtyInfDao.findPlgCmdtyInfList(plgCmdtyInfVO);
尝试在mapper的where条件中使用 DateDiff(),但是报错
请问各位帮忙看下 是否还有其他的解决方法。
where 创建时间 between '2021-12-09 00:00:00' and '2021-12-09 23:59:59'
1.如果创建时间有时分秒,把查询条件的创建时间设置为范围查询,用LocalDateTime获取系统日期,再减一天。设置开始时间后缀为00:00:00,结束时间后缀为23:59:59进行范围查询;
2.如果创建时间无时分秒,把查询条件的创建时间=用LocalDateTime获取系统日期,再减一天。
在sql server 中DateDiff() 函数是返回指定两个日期相差的时间,并不是查询
如果要查一段时间内的数据可以这样
where date>='2021-12-08 00:00:00' and date<='2021-12-09 23:59:59'