第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > mysql判断是否在日期区间_通过sql判断时间区间是否存在数据

mysql判断是否在日期区间_通过sql判断时间区间是否存在数据

时间:2022-09-24 15:38:48

相关推荐

mysql判断是否在日期区间_通过sql判断时间区间是否存在数据

在做项目的时候遇到过一个问题,用户需要获取当前月或者几个月的数据,但是有一个要求,如果已经存在一张单已经包含了这几个月的数据,那么就不能再提取到重复的数据。

其实这个问题,我做完了我的方式之后才发现,有两种方式。

第一种:在获取到的数据上添加标识位,如果有单据已经占用了该数据,就在提取的时候根据标识排除,这种方法要考虑到表的设计,业务的连续。(此种不举例)

第二种:根据时间来进行判断,判断的逻辑较为复杂,主要是考虑到再次想建立的时间区间不能包含或大于已存在的单(其中有一个逻辑,如果新建的单的开始时间大于已存在的单开始时间且新建的单的结束时间小于已存在的单的结束时间,那么新建单的开始时间和结束时间必定包含于已存在的单的时间区间之内。故只需要判断,是否存在已存在的单的开始结束时间区间包含新建单的开始时间或包含结束时间,或新建单的开始时间小于已存在单的开始时间且新建单的结束时间大于已存在单的结束时间,逻辑比较乱,如果业务用不到,不存在时间区间的概念,可以不考虑第二种方法。采用上一种);

mybatis sql如下:

and ( reconstartdate between #{reconstartdate,jdbctype=date} and #{reconenddate,jdbctype=date}

or reconenddate between #{reconstartdate,jdbctype=date} and #{reconenddate,jdbctype=date}

#{reconstartdate,jdbctype=date} = ]]> #{reconenddate,jdbctype=date} )

希望与广大网友互动??

点此进行留言吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。