Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вычислить номер временого диапазона
 
 автор: tAleks   (26.05.2009 в 13:38)   письмо автору
 
 

Есть дата старта - date_start
Интервал - 7 дней.

Если текущая дата больше date_start и меньше date_start + 7 ---- 1 диапазон
Если текущая дата больше date_start + 7*2 и меньше date_start + 7*3 ---- 2 диапазон

Всего диапазонов 12 шт.

Т.е. если текущая дата больше date_start + 7*12 ---- 12 диапазон

Как это можно в запросе выразить?

Мне в голову пока только вот такое приходит:

CEILING(DATEDIFF(NOW(), date_start) / 7) - 1 AS qty,
IF(qty < 1, 1, qty) AS qty,
IF(qty > 12, 12, qty) AS number_diapason


Но, что-то мне это не нравиться. подскажите как это сделать более граматно.

  Ответить  
 
 автор: tAleks   (26.05.2009 в 15:53)   письмо автору
 
   для: tAleks   (26.05.2009 в 13:38)
 

Придумал вот такой вариант:


@qty_days := FLOOR(DATEDIFF(NOW(), date_start) / 7) + 1,
IF(@qty_days > 12, 12, @qty_days) AS number_diapason


Знатоки, подскажите, это нормальный вариант, или можно еще укоротить?
Если можно, то как? Благодарю.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования