2016-06-14 33 views
1

好了,所以我有以下MySQL查詢:不一致性與MySQL DATEDIFF功能

SELECT COUNT(*) FROM `dates` WHERE firstDate IS NOT NULL AND secondDate IS NOT NULL 
AND DATEDIFF(secondDate, firstDate) >= 30 

即查詢返回9.值然後我使用以下查詢:

SELECT COUNT(*) FROM `dates` WHERE firstDate IS NOT NULL AND secondDate IS NOT NULL 
AND DATEDIFF(secondDate, firstDate) >= 90 

第二個查詢返回結果12.這怎麼可能?這兩個日期都是MySQL數據庫中的日期數據類型。

+0

讓我問你:爲什麼不可能? – Devon

+2

這似乎不可能。 –

+0

添加[sqlfiddle](http://sqlfiddle.com/)來證明它 – 2016-06-14 02:50:54

回答

2

嘗試這樣做

SELECT firstDate, secondDate, DATEDIFF(secondDate, firstDate) AS diff 
FROM `dates` WHERE firstDate IS NOT NULL AND secondDate IS NOT NULL 
AND DATEDIFF(secondDate, firstDate) >= 30 

SELECT firstDate, secondDate, DATEDIFF(secondDate, firstDate) AS diff 
FROM `dates` WHERE firstDate IS NOT NULL AND secondDate IS NOT NULL 
AND DATEDIFF(secondDate, firstDate) >= 90 

而是所產生的行數,你會看到實際的行名單。 這可能會幫助你弄清楚這一點。