У меня есть база данных, которая содержит некоторые даты тревоги:ABS не работает в SQLite
id timealarm status
1 2014-10-23 13:30:00 +0000 1
2 2014-10-23 13:29:00 +0000 1
Все, что я пытаюсь сделать, это отправить текущую дату в SQL и выполнить абс, так что принимает значение (дата), ближайшей к текущей дате:
SELECT * FROM records WHERE status = '1' ORDER BY ABS('2014-10-23 13:27:09 +0000' - timealarm) LIMIT 1
в этом случае этот синтаксис возвращает мне ИН 1, вместо ид 2, почему и как решить эту проблему?
EDIT
Поле timealarm является VARCHAR
Чтобы быть ясно: вы пытаетесь взять абсолютную величину разницы между двумя строками? –
Нет, я пытаюсь получить значение ближе к реальной дате –
Моя настоящая дата - 2014-10-23 13:27:09 +0000, дата ближайшей внутри базы данных - это данные с id = 2, но мой код получает дату id = 1, почему? –