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

在项目中偶会遇到比如说查询某个公司开通的会员账号在不在有效期内,比如这个公司的会员账号有效期开始时间和结束时间分别是:

start_time:2021-12-16 11:00:34

end_time: 2021-12-22 11:00:34

SELECT
	*,
	now() 
FROM
	vip_log
WHERE
	start_time <= now() AND end_time >= now()

now获取当前时间。

另一种,使用时间段查询数据,数据中包含有开始结束时间,时间有重合就查询出。

select * from XXX where
((star_time > #{startTime} AND (#{endTime} > end_time OR (#{endTime} > star_time AND #{endTime} &lt; end_time)))
OR
(star_time &lt; #{startTime} AND (#{endTime}>end_time OR (#{startTime} > star_time AND #{startTime} &lt; end_time))))


版权声明:本文为W07028057原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。