SQL语句:两个时间区间段,只要有交集,就能筛选出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句:两个时间区间段,只要有交集,就能筛选出来相关的知识,希望对你有一定的参考价值。

设定固定时间段:8.2---》8.5

技术分享

也就是:两个时间段,只要有交集就能筛选出来:

下面的两个sql语句,实现的效果是一样的:

1:$sql="select * from fs_ads where `start_time` <= ‘$ed‘ and `end_time` >= ‘$sd‘";

2:

 $sql="select * from (
select ads_id,file_id,client_type,client_name,brand,model,cal_type start_time,end_time,
CASE 
when (start_time>=‘$sd‘) then start_time
when (start_time<‘$sd‘) then ‘$sd‘
end as start1,
CASE 
when (end_time>=‘$ed‘) then ‘$ed‘
when (end_time<‘$ed‘) then end_time
end as end1
 from fs_ads )
 a where a.start1<=a.end1;
"; 
注:$sd,$ed是用户选择的时间
 

以上是关于SQL语句:两个时间区间段,只要有交集,就能筛选出来的主要内容,如果未能解决你的问题,请参考以下文章

sql语句判断时间区间的问题

想用sql语句实现:查询出在最近10分钟(或一段时间区间内)插入数据库某个表的所有数据。

题解CF193D Two Segments

sql join 的语句怎么写?

leetcode986-区间列表的交集(c++/python)

Java 判断两个IP段是否有交集