Как получить данные из таблицы за определённый период времени в sqlite3?
Как составить запрос, чтобы получить все из базы данных за определенный период времени, например с '2022-03-10' по '2022-03-14'
Вот как я создаю таблицу
conn = sql.connect(base)
cur = conn.cursor()
cur.execute("""CREATE TABLE IF NOT EXISTS portion(
datatime TEXT,
meal_time TEXT,
calories_portion REAL,
protein_portion REAL,
fats_portion REAL,
carbohydrates_portion REAL
);
""")
conn.commit()
conn.close()
Вот так я добавляю данные в таблицу
data_kbju_portion = ['2022-03-12', 'Ужин', 334.0, 10.8, 1.3, 69.9]
con = sql.connect(base)
cur = con.cursor()
cur.execute("INSERT INTO portion (datatime, meal_time, calories_portion, protein_portion, "
"fats_portion, carbohydrates_portion"
") VALUES(?, ?, ?, ?, ?, ?);", data_kbju_portion)
con.commit()
con.close()
таблица:
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
Вы можете воспользоваться стандартным определением диапазона выборки:
cur.execute("SELECT * from portion WHERE datatime BETWEEN '2022-03-10' and '2022-03-14'")
Умышленно или нет, но вы корректно задали даты при занесении данных в таблицу. поэтому впредь и далее придерживайтесь этого формата (YYYY-MM-DD), в противном случае ваши даты будут распознаваться как строки, и результат будет непредсказуем.
