Как узнать возраст записи в минутах при использовании MySQL? - PullRequest
0 голосов
/ 18 февраля 2011

У меня есть таблица истории с полем datetime с именем createdAt. Я пытаюсь определить возраст записи, но столбец возраста возвращается как Null:

SELECT id, (MINUTE(TIMEDIFF(NOW(),IFNULL(history.createdAt,0)))) AS age
FROM history
WHERE history.type = @type

Я попытался DATEDIFF() вместо TIMEDIFF(), и я получил 0 обратно

Есть идеи, почему этот запрос работает не так, как ожидалось?

ОБНОВЛЕНИЕ:

После анализа базы данных я обнаружил, что столбец createdAt был столбцом date, а не datetime. Код работает должным образом, если используется столбец datetime.

1 Ответ

1 голос
/ 18 февраля 2011

Сейчас не в состоянии выполнить тестирование, но API говорит:

Возвращает минуты для времени в диапазоне от 0 до 59.

mysql> SELECT MINUTE('2008-02-03 10:05:03');
        -> 5

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_minute

- не то, что вы хотите сделать.Попробуйте TIME_TO_SEC () для результата из TIMEDIFF и разделите его на 60, чтобы получить минуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...