检查给定日期是否适合一系列日期

osh*_*nen 18 sql t-sql sql-server sql-server-2008

如果我在表中有2个日期列,startDateendDate.如何返回给定日期适合这两个日期的行?例如:

如果给定的日期是 2012-10-25

它应该返回以下行

startDate   -   endDate
2012-10-25  -   2012-10-25
2011-09-10  -   2013-11-15
2012-10-20  -   2012-10-25
2012-10-23  -   2012-10-28
2012-09-14  -   2012-10-28
Run Code Online (Sandbox Code Playgroud)

来自以下行:

startDate   -   endDate
2012-10-25  -   2012-10-25
2011-09-10  -   2013-11-15
2012-01-11  -   2012-10-11
2012-10-20  -   2012-10-25
2012-04-15  -   2012-04-16
2012-05-20  -   2012-05-25
2012-12-01  -   2012-12-10
2012-10-23  -   2012-10-28
2012-09-14  -   2012-10-28
2012-11-13  -   2012-12-15
Run Code Online (Sandbox Code Playgroud)

这可能与sql一起使用吗?

我正在使用sql server 2008.

Cha*_*had 51

使用SQL Server,它实际上很简单:

SELECT startDate, endDate
FROM YourTable
WHERE '2012-10-25' between startDate and endDate
Run Code Online (Sandbox Code Playgroud)


Azo*_*ous 5

检查BETWEEN关键字。

语法很简单:

SELECT col1, col2
FROM table1
WHERE '2012-10-25' BETWEEN col1 and col2
Run Code Online (Sandbox Code Playgroud)

其中 col1 和 col2 分别是开始日期和结束日期。