SQLite поиск по датам без времени

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
bagrusss
Сообщения: 22
Зарегистрирован: 08 дек 2013, 00:17

SQLite поиск по датам без времени

Сообщение bagrusss » 03 ноя 2014, 20:16

Стоит задача хранить даты без указания времени (например, 3.11.2014), а так же иногда без указания года (т.е. только день и месяц). Но искать нужно в интервале между сегодняшней датой и ближайшими n дней.
Вопрос: как организовать хранение дат в БД без учета времени и поиск по ним с помощью SELECT? Думаю хранить оригинальную дату и дату для поиска (т.е. день, месяц и текущий год, 00:00) в формате UNIX.

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: SQLite поиск по датам без времени

Сообщение doter.ua » 03 ноя 2014, 21:31

По-моему задача изначально дебильная. Хранить без подробностей и в тоже время поиск по подробностям - попахивает абсурдом. Нельзя ли все хранить в нормальном виде, а когда нужно доставать и подгонять формат под требуемый?
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: SQLite поиск по датам без времени

Сообщение Foenix » 04 ноя 2014, 00:01

очень удобно хранить дату в формате YYYYMMDD целым числом, удобно по нему искать и прочее. Для этого вначале в java определи интервал, прибавив и отняв дни от даты, сформируй числа в таком формате и просто юзай where datа between ... and ... Все будет работать.

без указания года не получится искать, раз так - подставляй текущий год, например
либо раздели столбцы, в один записывать только год, в другой MMDD, если искать нужно только по месяцу и дню.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: SQLite поиск по датам без времени

Сообщение doter.ua » 04 ноя 2014, 00:41

Foenix писал(а):очень удобно хранить дату в формате YYYYMMDD целым числом.
Удобное решение. Насколько я понял схема следующая:
int data = YYYY * 10000 + MM *100 + DD.
int DD = data % 100;
int MM = (data / 100) % 100;
int YYYY = (data / 1000);
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: SQLite поиск по датам без времени

Сообщение Foenix » 04 ноя 2014, 00:53

что это? используй форматирование даты simpledateformat Хотя бы
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: SQLite поиск по датам без времени

Сообщение doter.ua » 04 ноя 2014, 01:06

Foenix писал(а):что это? используй форматирование даты simpledateformat Хотя бы
Ну так речь шла про хранение даты целым числом в формате YYYYddmm, а не строками или типом "дата". Да и разбивание по столбцам не похоже на SDF.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: SQLite поиск по датам без времени

Сообщение Foenix » 04 ноя 2014, 10:46

там можно любой формат задавать, используешь обозначения и получаешь что нужно. зачем изобретать такие функции
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

bagrusss
Сообщения: 22
Зарегистрирован: 08 дек 2013, 00:17

Re: SQLite поиск по датам без времени

Сообщение bagrusss » 05 ноя 2014, 22:58

Спасибо за ответы) пропали все неопределенности)

Ответить