Получение записей за определенный месяц с помощью SQLite
Вопрос
Как бы мне написать запрос SQLite для выбора всех записей за определенный месяц?Мои даты хранятся в виде Временные метки Unix.
PHP-код разрешен в вашем решении, если это необходимо.Пожалуйста, только запросы, совместимые с SQLite2.:)
Решение
Если вы хотите получить эффективный запрос, то вам следует использовать МЕЖДУ:
SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end
Где start
и end
являются временными метками unix для начала месяца и конца месяца.Они могут быть вычислены в PHP с помощью мктайм и отправляется в качестве параметров.
Другие советы
Использование:
SELECT *
FROM TABLE
WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD
AND YYYY-MM-DD
Замените YYYY-MM-DD
с теми датами, которые вы пожелаете.Смотрите справочную страницу для других поддерживаемых форматов.
Ссылка:
Без расчета последнего дня месяца
SELECT *
FROM table
WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'
Не связан с StackOverflow