Как осуществить фильтрацию данных по датам?
Имеется QSqlTableModel, QTableView, модуль - QSQLITE. Есть колонка "Дата рождения". В ней занесены данные в формате YYYY-MM-DD.
Нужно по нажатию кнопки вывести записи, где возраст > 30. Я новичок и не понимаю как это можно сделать. Заранее спасибо)
Ответы (2 шт):
Автор решения: Alexander Chernin
→ Ссылка
Ознакомиться как работать с датами в Sqlite можно вот тут
SELECT * FROM table WHERE date(birthday) <= date('now', '-30 years')
Здесь поле birthday должно быть строкой в формате YYYY-MM-DD
Автор решения: Sergey Tatarincev
→ Ссылка
сначала в документацию по sqlite по типам данных и затем в документацию qt QSqlTableModel::setFilter
и теперь можно сделать:
model->setFilter('date(birthday) <= date(current_date, \'-30 years\')');