2014-02-13 3 views
-1

Я использую MySQL.Сравнение даты и даты дня

Я пытаюсь сравнить дату, которая находится в поле даты и времени, на сегодняшнюю дату и возвращать число разностей дней (т. сегодня - столбец = нет. дней]

Возможно ли это? Как мне это сделать?

ответ

0

Я думаю, что нам нужно больше информации с вашей стороны, как в запросе вы используете, и то, что вы пробовали до сих пор, но, возможно, это может помочь вам:

SELECT 
    DATEDIFF('2014-02-20 00:00:00', NOW()); //return 7 

В этом случае, вы должны добавить 'FROM table' и замените дату в этом запросе на столбец datetime. Что-то вроде этого:

SELECT 
    DATEDIFF(datetimefield, NOW()) 
FROM 
    tablename 
+1

Спасибо, все эти ответы работали, поскольку они все одинаковые! В конце концов, должно было быть использовано три аргумента для DateDiff: SELECT DATEDIFF (день, column_name, GetDate()) AS column_name FROM table – GiANTOnFire

0

Вы можете попробовать использовать функцию DATEDIFF

SELECT DATEDIFF(NOW(), date_column) 

Она должна возвращать число дней между сейчас и ваша колонка.

+0

Прохладный - теперь я получаю сообщение об ошибке СЕЙЧАС() не является встроенной функцией. Есть ли другая функция, которую я должен/мог использовать? – GiANTOnFire

+0

Вместо этого используется GetDate, но он говорит, что для DateDiff нужны три аргумента? – GiANTOnFire

+0

Вы используете MySQL? Должны быть доступны обе функции. –

0

Вы должны быть использовать DATEDIFF

DATEDIFF (Expr1, expr2)

DATEDIFF() возвращает expr1 - expr2 выражается как значение в днях с одной даты на другую. expr1 и expr2 - это выражения даты или даты и времени.

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