2016-08-23 28 views
2

所有的日期我有一些像這樣的值:得到選擇一年

from   to 
2012-04-01 2013-12-31 
2014-01-01 2016-08-10 
2016-08-11 2016-12-28 
2016-12-30 2017-12-20 
2017-12-21 2018-12-11 

我怎樣才能得到所有值當我選擇2016年。我想這一點:

from   to 
2014-01-01 2016-08-10 
2016-08-11 2016-12-28 
2016-12-30 2017-12-20 

目前我的SQL剛剛得到的值,如果既從和2016年

.... WHERE From>='2016-01-01' AND To<='2016-12-31' 

注:這是一個例子日期,所以請不要發佈這樣回答:

...WHERE From>='2014-01-01' AND To<='2017-12-20' 
+0

爲什麼不僅僅根據年份進行過濾。像(僞代碼)'WHERE From Like'2016%'或Like To'2016%'' –

+0

您使用的是哪個數據庫? –

回答

2

可以使用YEAR功能:

SELECT from, 
     to 
FROM yourTable 
WHERE YEAR(from) = 2016 OR 
     YEAR(to) = 2016 

這將保留任何記錄,其日期爲from日期 a to日期位於2016日曆年。

+0

非常感謝。現在我意識到mysql有這個功能:)) – user3064132