2015-10-19 52 views
-1

我有兩列,其中一列是date_created,一列是date_expired。我怎樣才能得到結果的差異是2年+?我們知道每個證書只有2年有效。MYSQL如何選擇日期字段相差兩年的結果

這個例子表明,該證書已經過期

SELECT date_created, date_expired from cert_table 

結果:(!它真的應)

2013-10-10 18:32:54, 2015-10-10 14:33:28 
+0

您可以嘗試使用'WHERE'子句。 – fancyPants

回答

1
SELECT date_created, date_expired 
FROM cert_table 
WHERE DATE_ADD(date_created, INTERVAL 2 YEAR) <= date_expired 

或我猜

SELECT date_created, date_expired 
FROM cert_table 
WHERE DATE_ADD(date_created, INTERVAL 2 YEAR) <= NOW() 

UPDATE所以,如果你切換<=>=這意味着你searcing爲有效證書,而不是我的查詢上面尋找過期的。 :-)

SELECT date_created, date_expired 
FROM cert_table 
WHERE DATE_ADD(date_created, INTERVAL 2 YEAR) >= date_expired 
+0

This one worked SELECT date_created,date_expired FROM cert_table WHERE DATE_ADD(date_created,INTERVAL 2 YEAR)<= NOW() – rcmpayne

0

假設你列的數據類型是日期,下面將做這份工作:

SELECT ... FROM cert_table WHERE DATE_ADD(date_created, INTERVAL 2 YEAR) < date_expired 

要獲得有關日期的操作的更多信息,看看在MySQL Reference

相關問題