欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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/>

再去运行就成功了

相关标签: MyBatis