费话不说,直接上代码

SQL 代码:

View Code

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[fun_GetTimeSlotDays]'))
DROP FUNCTION [dbo].fun_GetTimeSlotDays
GO-- =============================================
-- Author:        <Mike.Jiang>
-- Create date: <2012-07-18>
-- Description:    <判断两个时间断是否有交叉,如果有则返回1,否则返回0>
-- =============================================
CREATE FUNCTION dbo.fun_GetTimeSlotDays(
@fromDate DATETIME,
@toDate DATETIME,
@startDate DATETIME,
@endDate DATETIME
)
RETURNS INT
AS
BEGINDECLARE @ret INT;IF(DATEDIFF(DAY,@fromDate,@endDate)>=0 AND DATEDIFF(DAY,@endDate,@toDate)>=0 )SET @ret=1;IF(DATEDIFF(DAY,@startDate,@toDate)>=0 AND DATEDIFF(DAY,@toDate,@endDate)>=0 )SET @ret=1;IF (@ret is null)SET @ret=0;RETURN @ret;
END
GO

测试代码:

SELECT dbo.fun_GetTimeSlotDays('2012-03-01','2012-03-10','2012-02-10','2012-02-20');
SELECT dbo.fun_GetTimeSlotDays('2012-03-01','2012-03-10','2012-02-01','2012-03-01');
SELECT dbo.fun_GetTimeSlotDays('2012-03-01','2012-03-10','2012-03-01','2012-03-02');
SELECT dbo.fun_GetTimeSlotDays('2012-03-01','2012-03-10','2012-03-10','2012-03-11');
SELECT dbo.fun_GetTimeSlotDays('2012-03-01','2012-03-10','2012-03-11','2012-03-11');

测试结果:

SQL 判断两个时间段是否有交叉相关推荐

  1. SQL判断两个时间段是否存在交集

    场景: 数据库有有两个字段.开始时间,和结束时间,指定一个时间段(a,b),a表示开始时间,b表示结束时间.看数据库中有没有与(a,b)存在交集的时间段,有的话就返回那条记录. 分情形讨论 SQL: ...

  2. mysql时间段重叠_MySQL判断两个时间段是否有重合

    两个集合不交叉,只要新插入的条记录的结束时间大于已存在的记录的开始时间并且新插入记录的最小值小于已存在记录的最大值,那么这两个时间段一定存在交叉. 总结起来就一句话:最小值小于最大值并且最大值大于最小 ...

  3. 判断两个时间段交集、时间重叠问题

    判断两个时间段范围是否有交集(时间重叠)问题经常遇到,比如预约会议室开会,活动的开始结束等,本文做此分析. 前提:本文时间传参已做限制,结束时间必须大于开始时间 1.正向思维 代码如下 (oneSta ...

  4. 判断两个时间段是否重叠的算法

    判断两个时间段是否重叠,如: startdate1 - enddate1 startdate2 - enddate2 两个时间的重叠分4种情况,若你一一列出这四种情况来判断是否重叠那就弱爆了,最简单的 ...

  5. 判断两个时间段范围是否有交集

    前言 项目中经常会遇到判断两个时间段范围是否有交集,所以本文就记录下当时思考的过程和示例代码. 本文提供两种思路. 一.正向思维,求交集 以某个时间段为固定参考范围,然后有交集的情况共有以下四种情况分 ...

  6. java 时间段重叠_java 判断两个时间段是否重叠的案例

    java 判断两个时间段是否重叠的案例 发布时间:2020-10-21 16:08:51 来源:脚本之家 阅读:108 作者:SakuyaM 最近业务上遇到需要判断两个时间段是否存在重叠的情况,网上找 ...

  7. java里怎么判断时间重合_java 判断两个时间段是否重叠的案例

    最近业务上遇到需要判断两个时间段是否存在重叠的情况,网上找了不少代码.大佬们的思路过于简洁了,有些理解不了.还只是个菜鸟码农,还是多锻炼锻炼自己的思路. 思路很简单:定义一个时间段的概念,既然是时间段 ...

  8. Oracle判断两个时间段是否有重叠

    判断两个时间段是否有重叠 (a,b),(c,d) 判断两段时间是否有重叠 方法一 select 'yes' from dual where d>a  and c<b; 方法二 select ...

  9. 判断两个时间段是否相差 几 个月

    //比较两个时间 time1,time2均为日期类型 //判断两个时间段是否相差 m 个月 function completeDate(time1 , time2 , m) {var diffyear ...

最新文章

  1. python canvas画弧度_只要十分钟,python绘图神器turtle了解一下?
  2. ps抠头发插件_「福利」PS抠图神级插件——VertusFluid Mask
  3. .NET实现之(部署ActiveX控件—简)
  4. 简单的for()循环使用方式foreach
  5. 山东大学继续教育计算机在线作业,山东大学继续教育数文字电子技术基础习题3及答案.docx...
  6. 我的三年研究生(CS)学习与工作经历(ZT)
  7. 谷歌、微软、亚马逊6个惊人的A/B测试实例
  8. php 远程下载大文件,php下载远程文件(支持断点续传,支持超大文件)
  9. html5拨动密码锁游戏,密码锁游戏(JavaScript)
  10. Eclipse右下角一直提示Computing additional info解决办法
  11. [Python] itertools.islice(iterable, start, stop[, step]) 创建迭代器并返回所选元素
  12. pandas—显示行索引与列索引(数组或者列表)
  13. 论文笔记_S2D.46_2013-3DV_基于点融合的动态场景实时三维重建
  14. Servlet 请求转发
  15. cad卸载_永远不舍得卸载的6款CAD插件,完全免费,让你三小时做一套图!
  16. hspice 2019 安装流程
  17. Kali Linux 下搜狗输入法换肤和设置快捷键
  18. 网络安全-解密WinRAR捆绑恶意程序并自动上线MSF的原理
  19. IDE、SATA、SCSI、SAS、iSCSI
  20. chrome浏览器的devtools详解

热门文章

  1. 编码区和非编码区的关系
  2. ZBrush关于遮罩的一些操作
  3. HTTP API 自动化测试从手工测试到平台的演变
  4. Java8中的HashMap分析
  5. “冗余”的参数(变量) —— 提升访问的效率
  6. C51单片机中断定义
  7. 利用逻辑回归进行简单的人群分类解决广告推荐问题
  8. orangepi找不到GPIO的解决方法
  9. Delphi异常处理总结
  10. linux 线程操作问题undefined reference to ‘pthread_create‘的解决办法(cmake)