|
Тема
|
Проверка между дати
|
|
Автор |
aginor () |
Публикувано | 17.12.09 10:47 |
|
Здравейте.
Имам една таблица с поле date_to и поле date_from и двете са тип date.
Например имаме два записа съответно
date_to = '2009-12-18' и date_from = '2009-12-21'
както и
date_to = '2009-12-24' и date_from = '2009-12-30'
Как да направя заявка която да сравнява двете полета?
Например имаме начало '2009-12-17' и край '2009-12-25'. Това би трябвало да ми върне двата записа защото са между стойностите. Ползваме BETWEEN ок.
Същевременно ако имаме дати '2009-12-17' и край '2009-12-18' не трябва да ми връща резултат.
При '2009-12-22' и край '2009-12-23' пак не трябва да ми връща резултат.
А при това положение '2009-12-21' и край '2009-12-30' да ви връща един резултат
Извинявам се ако е малко объркано но това е защото наистина трябва да минава през доста проверки и немога да го измисля нещо.
Благодаря
| |
|
Аз лично нищо не разбрах. Каква е логиката кои записи да се върнат и кои не? Кога не се връщат изобщо, кога се връща един и кога два...?
И каква е базата от данни?
"Договор, подписан с Русия, струва по-малко от хартията, върху която е написан!" - Бисмарк
| |
Тема
|
Re: Проверка между дати
[re: aginor]
|
|
Автор |
wqw (АзСъмЖив) |
Публикувано | 17.12.09 14:50 |
|
WHERE date_to >= $from_date AND date_from <= $to_date
... където $from_date до $to_date е търсения интервал.
Btw, нарочно ли date_to е начална дата, date_from е крайна дата?
| |
Тема
|
Re: Проверка между дати
[re: aginor]
|
|
Автор |
Hateras (чакащ) |
Публикувано | 18.12.09 13:15 |
|
а с времето в тия записи какво се случва? базата си го отрязва /т.е сетва го на 00:00:00/ или пише някъква константа / напр. 13:40... / или се записва времето в което е направен записа?
не за друго, но може да трябва да си нагласиш по-прецизно входните параметри, нали така
пий и пей!
| |
|
|
|
|