2009-12-22 6 views
1

Как использовать DATEDIFF? Как я могу заставить это работать? или я должен использовать DATEDIFF полностью по-другому?Как использовать DATEDIFF? Сколько дней внутри двух дат

SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110'; 

Я пытаюсь получить ответ, сколько дней осталось в двух датах.

Я бы хотел (а) получить уведомление:
Продолжительность = 7 дней;

У меня есть такой базы данных:

Started | will_end
2009-12-17 | 2009-12-24
2009-12-12 | 2009-12-26

+0

Это, кажется, дубликат вашей ранее вопрос: http://stackoverflow.com/questions/1946002/how-many-weeks-are- in-of-two-dates –

ответ

4

Помещенный will_end первый, второй started:

SELECT DATEDIFF('2009-12-24', '2009-12-17') 

--- 
    7 

Кроме того, удалить одиночные кавычки из ваших имен полей:

SELECT DATEDIFF(will_end, started) AS Duration 
FROM my_table 
WHERE id = 110 

, или заменить их кавычку:

SELECT DATEDIFF(`will_end`, `started`) AS `Duration` 
FROM `my_table` 
WHERE `id` = 110 
+0

http://dev.mysql.com/doc/refman/5.1/ru/date-and-time-functions.html#function_datediff – Sampson

+0

Спасибо! очень хорошие примеры! – jsk

0

заменить заказ

DATEDIFF ('will_end', 'Начало')

0

Я думаю, что есть три параметра, которые передаются в DATEDIFF (DatePart, StartDate, ENDDATE)

так что ваш код будет DATEDIFF (дд, 'Начало', 'will_end')

http://msdn.microsoft.com/en-us/library/ms189794.aspx

+1

Вопрос о 'MySQL' – Quassnoi

+0

Er ... как это связано с MYSQL? –

2

вы получаете NULL результат? У вас есть имена столбцов в одинарных кавычках в вашем запросе, что означает, что вы передаете строки 'Started ' и 'will_end' в DATEDIFF, а не значения столбца. Попробуйте удалить одиночные кавычки, и вы начнете видеть некоторые результаты:

SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110'; 

Обратите внимание, что это даст вам отрицательный результат. Для того, чтобы получить положительный результат, обратный порядок столбцов:

SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110'; 

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

  • Нет связанных вопросов^_^