Задавайте вопросы, мы ответим
Вы не зашли.
имеется таблица с датами типа
id | date_from | date_to
1 | 01.01.1999 | 27.09.1999
2 | 28.09.1999 | 15.10.1999
3 | 16.10.1999 | 13.11.1999
4 | 14.11.1999 | 31.12.1999
1. как выбрать период с 30.09 по 10.11 . В этот период попадают 2 и 3 строки. Как сделать такой запрос?
2. как выбрать период с 16.11 по 10.01 . В этот период попадают 4 и 1 строки. Как сделать такой запрос?
В реальном проекте даты записаны в unix формате
т.е. вот так
id | date_from | date_to
1 | 915148800 | 938390400
2 | 938476800 | 939945600
3 | 940032000 | 942451200
4 | 942537600 | 946598400
Неактивен
Смотрите в сторону
https://dev.mysql.com/doc/refman/5.5/en … m-unixtime
она может преобразовать строку в timestamp - ну а дальше уже оперируйте в условии where простыми сравнениями.
Неактивен
deadka написал:
Смотрите в сторону
https://dev.mysql.com/doc/refman/5.5/en … m-unixtime
она может преобразовать строку в timestamp - ну а дальше уже оперируйте в условии where простыми сравнениями.
аха, если б все так было уже бы се было готово, проблема не в переводе обычной даты в юникс
Неактивен
Эти зпросы не подходят
SELECT * FROM `test` WHERE `date_from` >= 938563200 AND `date_to` <= 942364800
SELECT * FROM `test` WHERE `date_from` >= 938563200 OR `date_to` <= 942364800
Этот работает для этих дат
SELECT * FROM `test` WHERE 938563200<=date_to and date_from <= 942364800
но если забить большее количество дат то не работает
Неактивен
olejan1991 написал:
аха, если б все так было уже бы се было готово, проблема не в переводе обычной даты в юникс
вы зря не слушаете советов умных людей
olejan1991 написал:
1. как выбрать период с 30.09 по 10.11 . В этот период попадают 2 и 3 строки.
Неактивен