Как найти дату записи в течение года - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь найти количество билетов, которые выпали в прошлом году, моя таблица выглядит следующим образом:

create table tickets (
  tno       int,
  fine      int,
  vdate     date,
);

, а мой текущий sqlite-код выглядит так:

 SELECT COUNT(t.tno)
  FROM tickets t
  WHERE  strftime('%Y', 'now') - strftime('%Y', t.vdate) <=1;

Однако в результате этих запросов будет возвращено количество билетов, выпущенных как в 2018, так и в 2019 году. Я хотел бы сузить диапазон времени с 2018/10/11 до 2019/10/11 (сегодня).

Спасибоза вашу помощь!

1 Ответ

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

Что-то вроде

SELECT count(t.no)
FROM tickets AS t
WHERE t.vdate BETWEEN date('now', '-1 year') AND CURRENT_DATE;

См. Документацию для функций даты и времени для всех модификаторов, которые они могут использовать, например '-1 year'.

Это предполагаетваш столбец vdate содержит даты, отформатированные как YYYY-MM-DD, что, возможно, имеет место, если вы уже используете его с strftime(), но при отсутствии примеров данных лучше упомянуть об этом.

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