Математика дат с помощью Django SQL Explorer
Я внедрил Django SQL Explorer в проект и пытаюсь построить запрос, который будет извлекать записи между сегодняшней датой и 12 месяцами до сегодняшней даты, но мне трудно понять, как SQL Explorer выполняет подсчет дат. Пока единственное, что мне удалось выяснить, это то, что SQL Explorer использует current_date для сегодняшней даты
Со:
SELECT current_date;
возвращает:
2021-10-02
Я попробовал использовать реализацию MySQL (поскольку именно эту базу данных использует мой проект):
SELECT current_date - INTERVAL 12 MONTH;
возвращает:
near "12": syntax error
Ближе всего я смог подойти к очень простой математике, которая работает только с годом и удаляет всю остальную информацию о дате:
SELECT current_date - 1;
возвращает:
2020
Кто-нибудь может помочь мне разобраться, как вернуть дату за 12 месяцев до сегодняшней даты в Django SQL Explorer?
SELECT current_date
SELECT current_date - [12 MONTH];
должно вернуться:
2021-10-02
2020-10-02
Заранее спасибо!
В синтаксисе MySQL вы должны использовать функцию DATE_SUB
. например:
SELECT DATE_SUB('2021-10-02', INTERVAL 1 YEAR);
или
SELECT DATE_SUB('2021-10-02', INTERVAL 12 MONTH);
Я подозреваю, что вы используете SQLite, а не MySql, в этом случае вы хотите:
SELECT date(CURRENT_DATE, '-12 month')
Ор:
SELECT date(CURRENT_DATE, '-1 year')