найти последние 7 дней записей в sqlite? - PullRequest
1 голос
/ 30 апреля 2010

Мне нужно было бы узнать последние 7 дней. Я хочу написать запрос для этого в состоянии где. У меня есть очень базовые знания в sqlite. Пожалуйста, помогите мне для этого запроса.

Ответы [ 2 ]

2 голосов
/ 30 апреля 2010

Вам необходимо сохранить дату в одном из столбцов вашей БД. В моем приложении я конвертирую NSDate (очевидно, iPhone) в двойной для хранения в БД, используя timeIntervalSinceReferenceDate. Учитывая, что я могу запросить диапазон дат.

Я написал функции, которые вычисляют NSDate для полуночных X дней в прошлом / будущем, которые я использую для определения startDate и endDate запросов. Вот выдержка из кода, которая даст вам некоторое представление:

char selectQuery[MAX_STR];
sprintf(selectQuery, "SELECT DateTime FROM Journal WHERE DateTime >= %f AND DateTime < %f;", 
                     [startDate timeIntervalSinceReferenceDate],
                     [endDate   timeIntervalSinceReferenceDate]);

Я не хотел преобразовывать NSDate в строки даты и времени, потому что я не доверяю преобразованиям туда-сюда со всеми различными часовыми поясами и способами локализации дат в разных локалях.

1 голос
/ 30 апреля 2010

sqlite не отслеживает, когда были добавлены строки таблицы. Если вам нужно это поведение, вы должны добавить столбец отметки времени и установить в нем текущее время при вставке новой строки.

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