在T SQL中查找两个日期之间的日期

时间:2012-11-29 01:07:38

标签: sql-server tsql date

我的表中有两个DateTime列,ArrivalDateTime,DepartureDateTime,其值为'26 / 11/2012 00:00:00''28 / 11/2012 00:00:00'现在我想查找所有记录从这个表中,使用T Sql

的那些日期之间存在一个给定日期,即27/11/2012

3 个答案:

答案 0 :(得分:5)

您可以使用BETWEEN

SELECT * FROM table 
WHERE '2012-11-27' BETWEEN ArrivalDateTime AND DepartureDateTime

答案 1 :(得分:1)

试试这个。

DECLARE @GivenDate VARCHAR(10)
SET @GivenDate = '27/11/2012'

SELECT * FROM myTable WHERE CONVERT(DATETIME, ArrivalDateTime, 103) < CONVERT(DATETIME, @GivenDate, 103) AND CONVERT(DATETIME, DepartureDateTime, 103) > CONVERT(DATETIME, @GivenDate, 103)

如果你想包括抵达&amp;出发日期。

SELECT * FROM myTable WHERE CONVERT(DATETIME, ArrivalDateTime, 103) <= CONVERT(DATETIME, @GivenDate, 103) AND CONVERT(DATETIME, DepartureDateTime, 103) >= CONVERT(DATETIME, @GivenDate, 103)

如果您只想比较日期&amp;不是时候试试这个。

SELECT * FROM myTable WHERE CONVERT(DATE, ArrivalDateTime, 103) <= CONVERT(DATE, @GivenDate, 103) AND CONVERT(DATE, DepartureDateTime, 103) >= CONVERT(DATE, @GivenDate, 103)

答案 2 :(得分:0)

你可以试试这个:

select * from MYTABLE where ArrivalDateTime < '2012-11-27' and DepartureDateTime > '2012-11-27'