|
MySQL.RU - Webboard
Вернуться
Запрос с функциями даты (Disturbed) 05/11/2009 - 14:51:52
Re: Запрос с функциями даты (Diter) 06/11/2009 - 17:28:56
> Original message text:
> From: Disturbed - 05/11/2009 - 14:51:52
> Subject:Запрос с функциями даты
> -----------------
> В общем, ситуация такова.
> Есть Дни рождения, хранятся в таблице как DATE.
> Надо извлечь из таблицы все дни рождения на текущей неделе.
> Каким образом это можно сделать?
> Заранее благодарю за ответы.
>
>
From: Diter - 06/11/2009 - 17:28:56
Subject:Запрос с функциями даты
-----------------
table1 - таблица с датами
bd - поле с днем рождения
Текущая неделя считается с понедельника по воскресенье
SET @a1:=IF(DAYOFWEEK(NOW())<>1,DAYOFWEEK(NOW())-2,6);
SET @a2:=IF(DAYOFWEEK(NOW())<>1,8-DAYOFWEEK(NOW()),0);
SELECT * FROM `table1`
WHERE
DATE_FORMAT(`bd`, '%m%d') BETWEEN
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL @a1 DAY), '%m%d') AND
DATE_FORMAT(DATE_ADD(NOW(), INTERVAL @a2 DAY), '%m%d')
ORDER BY DATE_FORMAT(`bd`, '%m%d') ASC;
P.S.: к сожалению я наткнулся на функцию DAYOFWEEK() раньше, чем на WEEKDAY(), поэтому пришлось так извращаться с интервалом. Можете попробовать сделать нечто подобное с использованием WEEKDAY()
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
36427
|
|