Как получить все строки, соответствующие определенному месяцу - PullRequest
1 голос
/ 24 октября 2019

Я хочу получить все строки определенного месяца, но при создании базы данных сохраните дату с таким синтаксисом: 1477800000 (это моя дата "2016-10-30")

Мой запросis:

SELECT * from Aula where EXTRACT(month from dateCreated) = 4

Мне нужно сделать запрос, используя месяц и год. В моем примере это только месяц. Как выполнить запрос с месяцем и годом?

Я получаю эту ошибку:

2019-10-24 10: 24: 16.699649-0400 project [1840: 36099] Ошибка БД:1 "рядом" с ": синтаксическая ошибка"

1 Ответ

0 голосов
/ 24 октября 2019

Вы можете использовать strftime и DATETIME для этого. Используйте DATETIME(dateCreated,'unixepoch'), чтобы преобразовать ваше целое число в datetime, или используйте strftime('%m', 1477800000, 'unixepoch'), который преобразует дату без необходимости использовать DATETIME.

SELECT * 
from Aula 
where strftime('%m', dateCreated, 'unixepoch') = '04'     -- month
  and strftime('%Y', dateCreated, 'unixepoch') = '2016'  -- year

, где %m - формат месяцаи возвращает 01-12, а %Y - формат года (обратите внимание на верхний регистр). Это подробно описано в документах, на которые я ссылался выше.

Подпрограмма strftime () возвращает дату, отформатированную в соответствии со строкой формата, указанной в качестве первого аргумента.

Примечание ваша дата действительно 2016-10-30, но вы ищете 4-й месяц (апрель), чтобы эта дата (1477800000) не появлялась в ваших результатах.

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