zoukankan      html  css  js  c++  java
  • sql 时间段交叉查询是否有交集

    --双11活动结束时间大于当前服务器时间代表有效期的活动
    --实现1
    select  *  from  ProdCar  A  where   A.EndDate> GETDATE()
    and  A.EndDate >='2019-11-07 00:00:00.000' 
    AND '2019-11-07 18:00:00.000' > A.BeginDate
    --实现2
    --给定时间区间(begin,end),数据库字段BeginDate与EndDate,现在要判断它们之间是否有交集
    SELECT * FROM ProdCar  A   where   A.EndDate> GETDATE()
    AND  NOT  ((A.EndDate < '2019-11-04 00:00:00.000') OR (A.BeginDate > '2019-11-05 18:00:00.000'))
    --实现3
    select * from ProdCar  A
    where A.EndDate> GETDATE() AND 
    (A.BeginDate > '2019-11-04 00:00:00.000' AND A.BeginDate <'2019-11-05 18:00:00.000')   OR (A.BeginDate < '2019-11-04 00:00:00.000' AND A.EndDate >'2019-11-05 18:00:00.000')
        OR(A.EndDate > '2019-11-04 00:00:00.000' AND A.EndDate <'2019-11-05 18:00:00.000')
    --实现4
    SELECT * FROM ProdCar A   where   A.EndDate> GETDATE()
    and
    ( A.BeginDate between '2019-11-04 00:00:00.000' and  ('2019-11-05 18:00:00.000') )          
    OR ( A.EndDate  between  '2019-11-04 00:00:00.000' and ('2019-11-05 18:00:00.000') )    
    OR ( '2019-11-04 00:00:00.000' between A.BeginDate AND A.EndDate )                  
    OR ( '2019-11-05 18:00:00.000' between A.BeginDate AND A.EndDate ) 
  • 相关阅读:
    Spring 之注解事务 @Transactional
    哈佛图书馆上的训言
    给入门程序员20条编程经验
    软件开发原则
    生活通用——最佳微小说系列
    springmvc图片文件上传接口
    java写入excel文件poi
    springMVC发送邮件
    SpringMVC整合MongoDB开发 架构搭建
    springMVC操作mongoDB增删改查
  • 原文地址:https://www.cnblogs.com/Warmsunshine/p/11799711.html
Copyright © 2011-2022 走看看