sql中查询当天时间和判断参数为空的坑
根据时间查询的时候,如何查询当天
查询当天时间内的数据时,需要注意的是,sql语句查询的是零点到零点的整数查询,如果要查询当天的时间也就是一月一号到一月一号的时候,需要在时间后加上date_add(#{paramIssue.endTime},interval 1 day),在零点的基础上加上一天的时间:
##如同下面实例:


当用户以当天时间为条件进行查询的时候,在sql的时间判断语句中给时间加上一天时间,不然的话,只会查询到当天零点前或后的时间段
Mysql将参数为0的数,也归纳到 ’ ’ 中:
# 实例:

前端调取后端接口的时候,传递过来的参数itemType为0,此时调取接口成功,如下:

但是mybatis打印出来的日志中,里面的sql语句却没有itemType在里面:

前端保持不变,更改sql语句中的判断条件,去掉 !=’ '的条件

同样的条件再次请求:

此时的Mybatis的打印日志中,sql语句如下:

item_type成功作为条件出现了;
这个可以在让负责搭建Mybatis框架的人,在后台过滤设置中更改下,或者改0为字符‘0’,或者后端更改,最好还是在Mybatis框架的过滤上更改,因为乱改参数属性的话,数据库可能也要变动
在SQL中查询当天时间数据时,需注意查询范围是零点至零点,需通过date_add函数添加一天确保完整。Mysql中参数为0时会被归类为空字符串。在Mybatis中,当参数itemType为0时,初始设置可能导致其在SQL语句中被忽略。解决办法包括修改Mybatis过滤设置,或将0转为字符'0',或在后端调整。

4240

被折叠的 条评论
为什么被折叠?



