|
|
|
|
|
для: Trianon
(18.06.2007 в 14:26)
| | логично ;)
спасибо. | |
|
|
|
|
|
|
|
для: elias
(18.06.2007 в 14:16)
| | дни рождения счастливчиков (родившихся 29 февраля) принимаются за первое марта. По-моему, логично. Раньше срока-то поздравлять нельзя. | |
|
|
|
|
|
|
|
для: Trianon
(18.06.2007 в 13:34)
| | спасибо.
а что значит здесь
CONCAT(
YEAR(NOW()),
'-03-01'
)
|
'-03-01' ?
(напоминает первое марта)
Это так и оставлять или заменять надо на чтото динамически? | |
|
|
|
|
|
|
|
для: elias
(18.06.2007 в 12:44)
| | Очень похожая задача недавно попалась определить у кого день варенья случится в ближайшие $days_up дней:
$sql= "SELECT * FROM users
WHERE
COALESCE(
TO_DAYS(
CONCAT(
YEAR(NOW()),
DATE_FORMAT(bday, '-%m-%d')
)
),
TO_DAYS(
CONCAT(
YEAR(NOW()),
'-03-01'
)
)
)
BETWEEN TO_DAYS(NOW()) AND $days_up+TO_DAYS(NOW())";
|
Суть в том, что годом нужно воспользоваться текущим, а месяцем днем - из поля.
Но при этом аккуратно обогнуть случай родившегося в високосный день. | |
|
|
|
|
|
|
| Имеется таблица с данными юзеров.
В ней имеется поле дней рождения в формате date yyyy-mm-dd
Требуется: показать всех юзеров, у которых день рождения на этой неделе.
использовал запрос типа
SELECT * FROM users WHERE WEEK(bdate,1)=WEEK(NOW(),1) and DAYOFYEAR(bdate)>=DAYOFYEAR(NOW())
|
однако он вычисляет на какой неделе был день рождения человека в год его рождения, а не по отношению к текущему году. отсюда возникают небольшие неточности.
подскажите как можно это решить. | |
|
|
|
|