The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"DATA yyyy-mm-dd как вычислить ?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"DATA yyyy-mm-dd как вычислить ?"  
Сообщение от den68 (ok) on 22-Дек-07, 18:56 
MYSQL, Есть задача, нийти в базе записи которые ранее текущей даты на 45 дней.
всю голову сломал, как правильно создать запрос непойму.
Дата записей в базе храниться в формате yyyy-mm-dd, тип поля DATE

Из ''...WHERE dog_data <= (CURRENT_DATE - 45) ...'' ничего не получилось ...
Помогите советом...

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "DATA yyyy-mm-dd как вычислить ?"  
Сообщение от Michelnok (??) on 22-Дек-07, 22:04 
CURRENT_DATE - INTERVAL 45 DAY
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "DATA yyyy-mm-dd как вычислить ?"  
Сообщение от den68 (ok) on 23-Дек-07, 01:38 
>CURRENT_DATE - INTERVAL 45 DAY

Ооооо спасибо !!! то что надо !

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "DATA yyyy-mm-dd как вычислить ?"  
Сообщение от den68 (ok) on 23-Дек-07, 21:48 
>CURRENT_DATE - INTERVAL 45 DAY

Любопытно, а как получить количество дней (в днях) с такой-то даты по текущее число, с учетом что дней больше чем 31, например 45 ?
А еще круче, рабочих дней, - праздники, - выходные ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "DATA yyyy-mm-dd как вычислить ?"  
Сообщение от angra (ok) on 24-Дек-07, 16:12 
>Любопытно, а как получить количество дней (в днях) с такой-то даты по
>текущее число, с учетом что дней больше чем 31, например 45
>?

Может вы все таки заглянете в мануал, вместо задания вопросов на каждый чих?


>А еще круче, рабочих дней, - праздники, - выходные ?

Список праздников для вашей конторы мускул должен получать из космоса? К сожалению расширение сознания в нем не предусмотрено :)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "DATA yyyy-mm-dd как вычислить ?"  
Сообщение от den68 (ok) on 25-Дек-07, 12:46 

>Список праздников для вашей конторы мускул должен получать из космоса? К сожалению
>расширение сознания в нем не предусмотрено :)

нет, достаточно суббот + воскресений, по поводу мануалов, детально изучил "работа и преобразование даты в mysql" - но в явной форме ненашел, если вы кините ссылку на мануал где описан подход для решения данной задачи буду весьма признателен ... спасибо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "DATA yyyy-mm-dd как вычислить ?"  
Сообщение от angra (ok) on 26-Дек-07, 00:33 
На моей локальной копии мануала functions.html#date-and-time-functions

Читаем описание DATEDIFF и CURDATE, комбинируем и получаем

select DATEDIFF(CURDATE(),'1997-12-31');
+----------------------------------+
| DATEDIFF(CURDATE(),'1997-12-31') |
+----------------------------------+
|                             3646 |
+----------------------------------+

Еще раз для тех кто в танке, где в локали указываются праздничные и выходные дни? Откуда мускул должен знать когда у вас выходной?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "DATA yyyy-mm-dd как вычислить ?"  
Сообщение от den68 (ok) on 26-Дек-07, 04:12 
Спасибо, в моем мануале этого ИМХО нет, mysql 3.23.54
кстати, а с какой версии это работает ?

# mysql -e "select DATEDIFF(CURDATE(),'1997-12-31')"
ERROR 1064 at line 1: You have an error in your SQL syntax near '(CURDATE(),'1997-12-31')' at line 1


>Еще раз для тех кто в танке, где в локали указываются праздничные
>и выходные дни? Откуда мускул должен знать когда у вас выходной?
>

В принципе согласен, но есть же функция CURDATE, в принципе "система" в курсе какой сегодня день, понедельник или суббота ... И мне кажеться что произвести обратный отсчет до искомой даты исключая по среднеарифметическому, вычислить кол-во дней до ближайшего воскресенья + ( на каждые 7 дней - 2 ) = РАБОЧИХ ДНЕЙ, ... не есть проблема.
Надеелся что есть такая встроенная функция ...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "DATA yyyy-mm-dd как вычислить ?"  
Сообщение от angra (ok) on 26-Дек-07, 05:18 
>Спасибо, в моем мануале этого ИМХО нет, mysql 3.23.54

Ужас какой, где откопали?

>кстати, а с какой версии это работает ?

Без понятия, мне эта функция никогда не была нужна. Вы сказали что в мануале не нашли, я помнил что у мускула до хрена не нужных _мне_ функций работы с датой и засомневался, что нет искомой. Открыл мануал и за пару минут нашел.

>В принципе согласен, но есть же функция CURDATE, в принципе "система" в
>курсе какой сегодня день, понедельник или суббота ... И мне кажеться
>что произвести обратный отсчет до искомой даты исключая по среднеарифметическому, вычислить
>кол-во дней до ближайшего воскресенья + ( на каждые 7 дней
>- 2 ) = РАБОЧИХ ДНЕЙ, ... не есть проблема.
>Надеелся что есть такая встроенная функция ...

Я думал только отдельные америкосы и мАсквичи отличаются таким страшным эгоцентризмом. Неужели никогда не приходило в голову, что далеко не везде выходные это суббота+воскресенье, что мускул делали не лично под вас и вашу контору, что он работает и в других странах и адаптируется к стране на основе локали и в локали не указывается какой день недели у вас выходной и какие дни в году праздничные? Про то что понятия выходного/праздничного дня могут различаться для каждой организации и даже для каждого работника в организации (а значит вычисления с ними просто неуместны в движке БД), вы похоже тоже не догадываетесь.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру