Фильтрация и извлечение указанных c дат из файла SQLite с использованием python (Anaconda) - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь отфильтровать и извлечь указанную c дату с месяцем 2 в моей базе данных SQLite, используя python и вычисляя их среднемесячные цены. Это то, что я получил до сих пор ...

enter image description here

Переменная CurrentMonth в настоящее время содержит значение 02. Я продолжаю получать неверные синтаксические ошибки. Моя база данных здесь: enter image description here

1 Ответ

0 голосов
/ 07 февраля 2020

Ваш синтаксис недопустим в SQLite. Я думаю, что вы имеете в виду:

select * from stock_stats where strftime('%m', date) + 0 = ?

Обоснование: strftime('%m', date) извлекает часть месяца из столбца date и возвращает строку типа '02'. Вы можете просто добавить 0, чтобы преобразовать значение в цифру c.

Обратите внимание, что:

  • вам также необходимо выполнить фильтрацию по части года, чтобы избегайте смешивания данных за разные годы

  • , более эффективным решением было бы передать 2 параметра, которые определяют начало и конец диапазона дат; это позволило бы избежать использования функций даты в столбце date.

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