• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

需求:查询进行中的活动数据

进行中一共有以下几种情况:
1.开始时间为空,结束时间为空, 此结果数据将永远为进行中的数据
2.开始时间为空,结束时间不为空,则当前时间在结束时间之前,为进行中的数据
3.开始时间不为空,结束时间为空,则当前时间在开始时间之后,为进行中的数据
4.开始时间不为空,结束时间不为空,则当前时间在开始与结束时间段之内的数据为进行中数据

下面sql则查询的是满足以上四种需求的结果集,达标题需求

SELECT * FROM 
表名
WHERE 1=1 
and(start_time is null or start_time<now()) 
and(end_time is null or end_time>now())

mybatis写法,开始时间与结束时间传入参数允许为空
如图所示:

<if test="record.startDate != null and record.startDate != '' or record.endDate != null and record.endDate != '' ">
      AND id in
      (select id from rht_product_price where 1=1
      <if test="record.startDate != null and record.startDate != ''">
        and  start_date &lt;= #{record.startDate,jdbcType=VARCHAR}
      </if>
      <if test="record.endDate!= null and record.endDate != ''">
        and end_date &gt;= #{record.endDate,jdbcType=VARCHAR}
      </if>
      )
    </if>

到此这篇关于mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空的文章就介绍到这了,更多相关mysql判断当前时间是否在开始与结束时间之间内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
详解Redis中的List类型发布时间:2022-02-10
下一篇:
通过实例解析布隆过滤器工作原理及实例发布时间:2022-02-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap