|
|
|
|
|
для: Trianon
(28.08.2008 в 20:08)
| | Trianon, большое спасибо! | |
|
|
|
|
|
|
|
для: Trianon
(29.08.2008 в 08:01)
| | Спасибо большое ! доходчиво !
в этом случае с вашим вариантом -
Отображает строки 0 - 8 (9 всего, запрос занял 0.0006 сек.)
|
с другим -
MySQL вернула пустой результат (т.е. ноль строк). (запрос занял 0.0006 сек.)
|
данные :
INSERT INTO `test` (`id`, `bday`)
VALUES (1, '1990-01-02'),
(2, '2008-12-29'),
(3, '2009-01-05'),
(4, '2009-01-04'),
(5, '2009-01-03'),
(6, '2009-01-02'),
(7, '2009-01-01'),
(8, '2008-12-30'),
(9, '1990-01-03');
|
интересная хрень получается... :)
Спасибо ! | |
|
|
|
|
|
|
|
для: Mehelson
(29.08.2008 в 03:30)
| |
date_format(bday, '%m%d')
BETWEEN date_format(CURDATE(), '%m%d')
AND date_format(ADDDATE(CURDATE() , INTERVAL 7 DAY), '%m%d')
AND year(bday) <= year(now())
===
date_format('1990-01-02', '%m%d')
BETWEEN date_format('2008-12-29', '%m%d')
AND date_format(ADDDATE('2008-12-29' , INTERVAL 7 DAY), '%m%d')
AND year('1990-01-02') <= year('2008-12-29')
===
'01-02' BETWEEN '12-29'
AND date_format('2009-01-05', '%m%d')
'1990' <= '2008'
===
'01-02' BETWEEN '12-29' AND '01-05'
AND 1
===
0 AND 1
===
0
|
| |
|
|
|
|
|
|
|
для: Trianon
(28.08.2008 в 23:57)
| | . | |
|
|
|
|
|
|
|
для: Trianon
(28.08.2008 в 23:57)
| | А я не понял :)
Объясните пожалуйста
Ну и попадут в выборку эти 5 дней...(1 вариант Root)
При чём тут года? | |
|
|
|
|
|
|
|
для: Trianon
(28.08.2008 в 23:57)
| | хм..
'бага' какая-то :-) | |
|
|
|
|
|
|
|
для: Root
(28.08.2008 в 22:42)
| | Представьте себе, что bday = 1990-01-02 и сегодня 2008-12-29 | |
|
|
|
|
|
|
|
для: Trianon
(28.08.2008 в 20:08)
| | хм..
объясните чем ваш вариант лучше моего:
SELECT * FROM tbl_name WHERE
date_format(bday, '%m%d')
BETWEEN date_format(CURDATE(), '%m%d')
AND date_format(ADDDATE(CURDATE() , INTERVAL 7 DAY), '%m%d')
AND year(bday) <= year(now());
|
? | |
|
|
|
|
|
|
|
для: Root
(28.08.2008 в 19:50)
| |
SELECT * FROM tbl_name WHERE
WHERE
IF(date_format(CURDATE(), '%m%d') <= '1224' ,
date_format(bday, '%m%d')
BETWEEN
date_format(CURDATE(), '%m%d')
AND
date_format(CURDATE()+INTERVAL 7 DAY, '%m%d'),
NOT (
date_format(bday, '%m%d')
BETWEEN
date_format(CURDATE()+INTERVAL 8 DAY, '%m%d')
AND
date_format(CURDATE()-INTERVAL 1 DAY, '%m%d')
)
)
|
и чему я больше всего удивлен - проблема 29 февраля ушла куда-то сама собой... | |
|
|
|
|
|
|
|
для: Trianon
(28.08.2008 в 19:31)
| | я уже ничё не понимаю.. :-)
SELECT * FROM tbl_name WHERE
date_format(bday, '%m%d')
BETWEEN date_format(CURDATE(), '%m%d')
AND date_format(ADDDATE(CURDATE() , INTERVAL 7 DAY), '%m%d')
AND year(bday) <= year(now() - INTERVAL $userdefined YEAR);
|
| |
|
|
|
|