|
|
|
| Всем привет,
чето не пойму как сделать следущее:
есть несколько периодов:
01.04.2008 - 30.06.2008
01.07.2008 - 31.08.2008
01.09.2008 - 31.10.2008
|
Не могу понять как найти один из трех по дате, что должно входить в него. К примеру, 15.06.2008 относится к 01.04.2008 - 30.06.2008.
Даты в БД храню в виде DATE 0000-00-00.
Подскажите как сделать выборку корректно.
Спасибо | |
|
|
|
|
|
|
|
для: ZeeG
(14.04.2008 в 12:13)
| | Т.е. границы периодов это DATE-поля? И необходимо вернуть записи в которые входит заданная дата? | |
|
|
|
|
|
|
|
для: cheops
(14.04.2008 в 12:47)
| | Да, нужно вернуть его id (perid)
CREATE TABLE `periods` (
`perid` int(11) NOT NULL auto_increment,
`start` date NOT NULL default '0000-00-00',
`stop` date NOT NULL default '0000-00-00',
`hide` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`perid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 PACK_KEYS=0 AUTO_INCREMENT=0 ;
INSERT INTO `periods` VALUES (1, '2008-04-01', '2009-03-31', 0);
|
Спасибо | |
|
|
|
|
|
|
|
для: ZeeG
(14.04.2008 в 12:50)
| | Как хоть подойти к решению. Подскажите плиз. | |
|
|
|
|
|
|
|
для: ZeeG
(14.04.2008 в 14:55)
| | select perid from periods
where data between start and stop
здесь соответственно data проверяемое значение | |
|
|
|
|
|
|
|
для: ronin80
(14.04.2008 в 15:11)
| | а к какому формату лучше привести? оставить DATE или UNIX_TIMESTAMP? Я уже пробывал такую конструкцию, но чето не вышло. | |
|
|
|
|
|
|
|
для: ZeeG
(14.04.2008 в 15:22)
| | смотря какой формат у проверяемого значения | |
|
|
|
|
|
|
|
для: ronin80
(14.04.2008 в 15:25)
| | чето как-то нет
SELECT perid FROM periods WHERE 2008-04-24 BETWEEN start AND stop
|
в БД тот же формат, что и 2008-04-24. | |
|
|
|
|
|
|
|
для: ZeeG
(14.04.2008 в 15:57)
| | а кавычки кто ставить будет?
SELECT `perid` FROM `periods` WHERE '2008-04-24' BETWEEN `start` AND `stop`
|
| |
|
|
|
|
|
|
|
для: mechanic
(14.04.2008 в 18:02)
| | спасибо, вот только маленькая поправка, вдруг кому еще нужно будет
SELECT `perid` FROM `periods` WHERE DATE('2008-04-24') BETWEEN `start` AND `stop`
|
вроде работает. | |
|
|
|