База Postgre. В одной из таблиц есть столбец timestamp, который отображает данные в виде YYYY-MM-DD HH-MM-SS.
Сейчас делаю функцию суть которой заключается в следующем. Нужно изъять соответствующую строку, где присутствует этот timestamp, но не просто вывести, а подсчитать - прошло ли 5 минут от этого времени.
Из этого не знаю как сделать подсчет 5 ти минут. Т.е. прошли или не прошли.
Как сделать? Переводить все в секунды? Или есть другие варианты?
Как всегда, с меня плюсик в "Помог".
1. antobra - 19 Сентября, 2011 - 14:18:37 - перейти к сообщению
2. EuGen - 19 Сентября, 2011 - 14:21:54 - перейти к сообщению
SELECT * FROM your_table WHERE your_field + INTERVAL 5 MINUTE < NOW()
- сработает и в Postgree
http://developer[dot]postgresql[dot]org/[dot][dot][dot]ns-datetime[dot]html
- сработает и в Postgree
http://developer[dot]postgresql[dot]org/[dot][dot][dot]ns-datetime[dot]html
3. antobra - 19 Сентября, 2011 - 14:50:03 - перейти к сообщению
EuGen, а как подсчитать, чтобы не делать доп. запрос в базу? Можно ли сделать силой PHP?
4. EuGen - 19 Сентября, 2011 - 14:52:47 - перейти к сообщению
Так Вы же в любом случае должны сделать выборку. Данные ведь в БД хранятся. php здесь не поможет.
Сделайте выборку - условие я Вам привел - получите все записи, которые старее 5 минут относительно текущего времени.
Сделайте выборку - условие я Вам привел - получите все записи, которые старее 5 минут относительно текущего времени.
5. garvey - 19 Сентября, 2011 - 14:56:06 - перейти к сообщению
EuGen, возможно у топикстартера уже выбраны данные и ему нужно их отсортировать уже не на уровне СУБД. Можно в PHP вот так: