Как вывести запросом дни рождения выпадающие на текущую и на следующую недели?
Как сделать запросы SQLite по датам чтобы выводил информацию (дат рождения) на текущую неделю и на следующую неделю?
Запрос выводит данные (дни рождения) на завтрашнюю дату:
def data_n_mess_new():
conn = sqlite3.connect(settings.DATABASE)
cursor = conn.cursor()
sql = """SELECT full_name, data_n, photo
FROM dovidnyk
WHERE strftime('%d-%m', data_n) = strftime('%d-%m', 'now', '+1 day')"""
cursor.execute(sql,)
result = cursor.fetchall()
for fn in result:
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Пример исходной таблицы:
sqlite> select * from tab;
user_id dob
------- ----------
1 1990-05-04
2 2000-05-01
3 2001-05-10
4 2002-05-16
5 2002-05-17
выбираем даты с днями рождения выпадающими на текущую и следующую недели:
sqlite> select * from tab
where (strftime('%m-%d', dob)
between strftime('%m-%d', date('now', 'weekday 0', '-6 days'))
and
strftime('%m-%d', date('now', 'weekday 0', '-6 days', '+13 days'))
);
user_id dob
------- ----------
1 1990-05-04
3 2001-05-10
4 2002-05-16