2012-07-31 25 views
1

我有一個mysql中的表,其中包含一個開始和結束日期字段。我需要做的是查詢此表以查找與搜索日期不匹配的所有行。我會怎麼做?因此,如果我使用了今天的日期並且查詢了這個表格,那麼我需要找到這個日期不在表格中的開始日期和結束日期之間的所有行。希望是有道理的!Mysql - 選擇不符合日期範圍的行?

回答

0
Select * 
from table 
where [todaysdate]<datestart 
or [todaysdate]>dateend 
0

要選擇範圍您正常使用BETWEEN,如果要排除這些值,你可以簡單地使用NOT BETWEEN

2

您可以使用BETWEEN子句篩選記錄根據日期範圍和排除,您可以使用NOT條款,日期範圍爲:

SELECT * 
FROM my_table 
WHERE search_date NOT BETWEEN start_date AND end_date; 
0

一個多種變異:

select id, start_date, end_date 
from my_table 
where end_date < CAST('2012-01-01' AS DATE) 
or start_date > CAST('2012-12-31' AS DATE)