Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36427



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |