码迷,mamicode.com
首页 > 数据库 > 详细

sql 判断两个时间段是否有交集

时间:2014-09-12 11:51:13      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   art   div   sp   cti   log   

本文转自CSDN 链接地址:http://blog.csdn.net/dasihg/article/details/8450195  

时间段:starttime_1到endtime_1,starttime_2到endtime_2
SQL语句:where least(endtime_1, endtime_2) > greatest(starttime_1, starttime_2)
解释:least取最小值,greatest取最大值。

创建函数least、greatest

CREATE FUNCTION least
(
 @time1 datetime,
 @time2 datetime
)
RETURNS datetime
AS
BEGIN
declare @ret datetime
 if(@time2>@time1)set @ret=@time1
 else set @ret=@time2
return @ret
END
GO

 

CREATE FUNCTION greatest
(
 @time1 datetime,
 @time2 datetime
)
RETURNS datetime
AS
BEGIN
declare @ret datetime
 if(@time2<@time1)set @ret=@time1
 else set @ret=@time2
return @ret
END
GO

  

 

sql 判断两个时间段是否有交集

标签:blog   http   io   ar   art   div   sp   cti   log   

原文地址:http://www.cnblogs.com/alphafly/p/3967987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!