2013-01-20 63 views
1

不同選擇行所以我的表有這樣的記錄,列值爲通過兩年多的

ID PRODUCT  MAKE_DATE  ORDER_DATE 
1  aaaa  2010-11-04  2051-12-11 16:13:43 
2  bbb  2011-10-05  2010-11-11 00:00:00 
3  cccc  2010-05-20  0000-00-00 00:00:00 

我的問題:如何顯示這些結果,其中make_dateorder_date 2年有什麼不同?

IM停留在此:

Select ID, Product, make_date, order_datetime 
FROM `tbl_order` 
WHERE make_date ??? order_datetime 

的結果應該是:

1  aaaa  2010-11-04  2051-12-11 16:13:43 
3  cccc  2010-05-20  0000-00-00 00:00:00 
+0

那麼你嘗試過什麼? –

+0

由於反引號,我假定MySQL。如果這是錯誤的,請糾正標籤。 –

+1

爲什麼'ID = 3'行出現在結果中? –

回答

2
Select ID, Product, make_date, order_datetime 
FROM tbl_order 
WHERE make_date < order_datetime - INTERVAL 2 YEAR 
    OR make_date > order_datetime + INTERVAL 2 YEAR ; 
1

對於MySQL使用TIMESTAMPADD功能:

SELECT ID, Product, make_date, order_datetime 
FROM `tbl_order` 
WHERE make_date > TIMESTAMPADD(YEAR, 2, order_datetime) 
OR make_date < TIMESTAMPADD(YEAR, -2, order_datetime)