sql中查询当天时间和判断参数为空的坑

在SQL中查询当天时间数据时,需注意查询范围是零点至零点,需通过date_add函数添加一天确保完整。Mysql中参数为0时会被归类为空字符串。在Mybatis中,当参数itemType为0时,初始设置可能导致其在SQL语句中被忽略。解决办法包括修改Mybatis过滤设置,或将0转为字符'0',或在后端调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据时间查询的时候,如何查询当天

查询当天时间内的数据时,需要注意的是,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框架的过滤上更改,因为乱改参数属性的话,数据库可能也要变动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值