如何检查两个指定日期之间的日期是否落在其他两个给定日期之间 [英] how to check whether a date between two specified dates, falls between other two given dates
问题描述
hai all
是否有任何SQL查询来检查
两个日期之间的日期是否介于其他两个日期之间.
sql server 2008中的数据库,from_date和close_date均为日期格式.
也就是说,例如,我想知道以下哪个范围的日期介于"2004-04-01"和"2005-02-01"之间
并且范围的日期介于"2002-04-01"和"2013-04-01"之间
from_date close_date
2003-04-01 2006-03-31
2003-04-01 2005-03-31
2003-04-01 2005-03-31
2003-04-01 2009-09-30
2003-04-01 2005-03-31
2003-04-01 2006-03-31
2003-04-01 2012-03-31
2003-04-01 2006-03-31
2003-04-01 2012-03-31
2003-04-01 2006-03-31
2003-04-01 2012-03-31
2003-04-01 2006-03-31
2003-04-01 2006-03-31
2003-04-01 2006-03-31
2003-04-01 2006-03-31
2003-04-01 2006-03-31
2003-04-01 2009-03-31
2003-04-01 2007-03-31
2003-04-01 2006-03-31
2003-04-01 2004-09-30
2003-04-01 2004-03-31
谁能帮忙
在此先感谢
hai all
is there any SQL query for checking
whether a date between two dates falls between other two dates .
the database in sql server 2008,from_date and close_date are in date format.
that is, for example, i want to know which of the following range has dates in between ''2004-04-01'' and ''2005-02-01''
and the range has dates in between ''2002-04-01'' and ''2013-04-01''
from_date close_date
2003-04-01 2006-03-31
2003-04-01 2005-03-31
2003-04-01 2005-03-31
2003-04-01 2009-09-30
2003-04-01 2005-03-31
2003-04-01 2006-03-31
2003-04-01 2012-03-31
2003-04-01 2006-03-31
2003-04-01 2012-03-31
2003-04-01 2006-03-31
2003-04-01 2012-03-31
2003-04-01 2006-03-31
2003-04-01 2006-03-31
2003-04-01 2006-03-31
2003-04-01 2006-03-31
2003-04-01 2006-03-31
2003-04-01 2009-03-31
2003-04-01 2007-03-31
2003-04-01 2006-03-31
2003-04-01 2004-09-30
2003-04-01 2004-03-31
can any one help
thanks in advance
推荐答案
以获取指定日期之间的日期:
to get the date between Specified Dates:
Select * From MyTable Where timecreated Between Cast('7/20/08 12:01:01' As DateTime) And Cast('7/20/09 12:01:01' as DateTime)
完全或部分重叠吗?
对于完全重叠,WHERE
子句为
Completely or partially overlapping?
For a complete overlap, theWHERE
clause is
WHERE from_date<@min_date AND close_date>@max_date
对于部分重叠:
For a partial overlap:
WHERE from_date<@max_date AND close_date>@min_date
在哪里((m.[from_date]< = @ min_date and m.[close_date]> = @ @max_date)OR(m.[from_date]> = @ @min_date and m .. [from_date]< @max_date)OR((m.[close_date]< = @max_date and m.close_date> @min_date)OR((m.[from_date]> = @min_date)和m.[from_date] < @max_date)和((m.[close_date]< = @max_date)和m.[close_date]> @min_date))
WHERE ((m.[from_date] <= @min_date and m.[close_date] >= @max_date )OR(m.[from_date]>= @min_date and m.[from_date]< @max_date ) OR(m.[close_date] <= @max_date and m.close_date > @min_date ) OR((m.[from_date] >= @min_date ) and m.[from_date] < @max_date ) and ((m.[close_date] <= @max_date )and m.[close_date] > @min_date ))
这篇关于如何检查两个指定日期之间的日期是否落在其他两个给定日期之间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!