mybatis实现查询某一时间段的数据
程序员文章站
2024-02-24 10:37:58
...
mybatis实现查询某一时间段的数据
(1)时间范围年月日
(2)时间范围年月日时分秒
mysql的查询语句很简单,如下
SELECT `number`,
`bid_date`,
`amount`
FROM `won_bid`
WHERE `bid_date` between '2020-09-09' and '2020-10-10'
我仿照mysql的查询语句在mybatis中的写法如下
因为数据表只有一个时间字段,前端传的是一个list[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9jX8W9uQ-1605084283285)(/Users/developer04/Library/Application Support/typora-user-images/image-20201109151742040.png)]
所以bean里面的字段date设置为List类型
SELECT `number`,
`bid_date`,
`amount`,
FROM `won_bid`
<where>
<if test="date != null and date != null">
AND `bid_date` between #{date[0]} and #{date[1]}
</if>
<where/>
但是并没有出现结果
在网上搜索之后,发现要用函数DATE_FORMAT
改成如下格式
SELECT `number`,
`bid_date`,
`amount`,
FROM `won_bid`
<where>
<if test="date != null and date != null">
AND `bid_date` between DATE_FORMAT(#{date[0],'%Y%m%d'})
AND DATE_FORMAT(#{date[1]},'%Y%m%d')
</if>
<where/>
再去运行就成功了