博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL 判断两个时间段是否有交叉
阅读量:6303 次
发布时间:2019-06-22

本文共 1210 字,大约阅读时间需要 4 分钟。

费话不说,直接上代码

SQL 代码:

View Code
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[fun_GetTimeSlotDays]'))DROP FUNCTION [dbo].fun_GetTimeSlotDaysGO-- =============================================-- Author:        
-- Create date: <2012-07-18>-- Description:
<判断两个时间断是否有交叉,如果有则返回1,否则返回0>
-- =============================================CREATE FUNCTION dbo.fun_GetTimeSlotDays(@fromDate DATETIME,@toDate DATETIME,@startDate DATETIME,@endDate DATETIME)RETURNS INT AS BEGIN DECLARE @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;ENDGO

 

测试代码:

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');

测试结果:

 

 

 

转载地址:http://tayxa.baihongyu.com/

你可能感兴趣的文章
接口和抽象类有什么区别
查看>>
Linux 下添加用户,修改权限
查看>>
请问view controller scene,该如何删除
查看>>
bootstrap新闻模块样式模板
查看>>
zzzzw_在线考试系统①准备篇
查看>>
App Store 审核被拒的23个理由
查看>>
剑指offer第二版-1.赋值运算符函数
查看>>
javascript 对象
查看>>
Android学习笔记——文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)学习
查看>>
Echart:前端很好的数据图表展现工具+demo
查看>>
CATransform3D iOS动画特效详解
查看>>
Linux VNC黑屏(转)
查看>>
Java反射简介
查看>>
react脚手架应用以及iview安装
查看>>
shell学习之用户管理和文件属性
查看>>
day8--socket网络编程进阶
查看>>
node mysql模块写入中文字符时的乱码问题
查看>>
仍需"敬请期待"的微信沃卡
查看>>
分析Ajax爬取今日头条街拍美图
查看>>
内存分布简视图
查看>>