SQLite: нужна дата> = (x) количество дней с сегодняшнего дня - PullRequest
1 голос
/ 19 августа 2009

Попытка выбрать дату (x) дней от сегодняшней даты, где дата будет началом дня (например, 12:00 в этот день).

Например, запрос с датой на 5 дней раньше ..

@"select pkey, dateofmod from data WHERE dateofmod >= date('now', '? days')" ,  [NSNumber numberWithInt:-5]; 

не похоже на работу. (используя FMDB).

Ответы [ 2 ]

3 голосов
/ 20 августа 2009

Это то, что вам нужно?

sqlite> SELECT date( julianday(date('now')));
2009-08-19
sqlite> SELECT date( julianday(date('now'))+2);
2009-08-21

julianday «округляет» до полуночи:

sqlite> SELECT datetime( julianday(date('now')));
2009-08-19 00:00:00
sqlite> SELECT datetime( julianday(date('now'))+2);
2009-08-21 00:00:00

Обычно с SQLite вы хотите использовать julianday, если вы добавляете число дней к дате.

Функции даты и времени SQLite

1 голос
/ 20 августа 2009

Вы всегда можете выбрать Top X.

@"select TOP X from data WHERE dateofmod >= date('now', '? days')" ,  [NSNumber numberWithInt:-5];
...