Как вывести запросом дни рождения выпадающие на текущую и на следующую недели?

Как сделать запросы 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
→ Ссылка