Всем привет!
Имеется таблица с полем типа DATE.
Нужно выполнить такой SELECT, чтобы он получил из таблица все даты, которые идут в ближайшие три дня от "сегодняшнего" дня.
Например. Сегодня 2008-11-08. В таблице имееются записи:
2008-11-08
2008-11-10
2008-11-11
Результат будет
2008-11-08
2008-11-10
Подскажите, как реализовать такой запрос.
Этот топик читают: Гость
Ответов: 574
Рейтинг: 1
|
|||
карма: 0 |
|
Ответов: 8928
Рейтинг: 823
|
|||
Yuriy, зачем запрос, когда ответ есть: завтра, послезавтра и послепослезавтра
|
|||
карма: 19 |
|
Ответов: 574
Рейтинг: 1
|
|||
Леонид, ну да, но, ведь это не значит, что в таблице есть все три записи. Их может быть и 10. Например, 10 сегодняшних дат. Мне их нужно найти и выбрать.
|
|||
карма: 0 |
|
Ответов: 211
Рейтинг: 52
|
|||
Выборка диаппазона дат:
SELECT * FROM mytable WHERE mydata BETWEEN '05.11.2008' AND '08.11.2008' Где mydata - поле значений в формате DATE. |
|||
карма: 1 |
|
Ответов: 574
Рейтинг: 1
|
|||
То, что Вы написали в кавычках, нужно определить с помощью функций SQLite - 'сегодня' AND 'послепослезавтра'. Как бы это сделать?
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Yuriy, a так
SELECT * FROM mytable WHERE mydata=cегодня or mydata=сегодня+1 or mydata=сегодня+2 |
|||
карма: 25 |
| ||
Голосовали: | Yuriy |
Ответов: 211
Рейтинг: 52
|
|||
SELECT * FROM mytable WHERE mydata BETWEEN strftime('%d.%m.%Y', 'now','+1 day','+3 hours') AND strftime('%d.%m.%Y', 'now','+3 day','+3 hours');
Где '+3 hours' - временная зона +3 часа, а '+1 day' смещение от текущего времени 'now' code_10600.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_10600.txt [5KB] [138] | ||
Голосовали: | Yuriy |
Ответов: 574
Рейтинг: 1
|
|||
Minkovsky, спасибо! Именно это я и хотел увидеть!
Tad, тоже спасибо, но немножко не то. Ребята, а можно ли сказать SQLite, чтобы он принимал данные в кириллице? Дело в том, что приложение (не HiAsm, не подумайте), из которого я взаимодействую с БД, не поддерживает юникод Приходится пользоваться сторонними утилитами для перекодировки результата селекта. |
|||
карма: 0 |
|
8