2016-06-14 3 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/), чтобы доказать это. –

ответ

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 

Вместо подсчета результирующих строк вы увидите их список строк. Это может помочь вам разобраться в этом.

Смежные вопросы