Получение записей за определенный месяц с помощью SQLite

StackOverflow https://stackoverflow.com/questions/2485195

  •  21-09-2019
  •  | 
  •  

Вопрос

Как бы мне написать запрос 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'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top