powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вычисление числа раб. дней между двумя датами
8 сообщений из 8, страница 1 из 1
Вычисление числа раб. дней между двумя датами
    #39846660
дипер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результат не должен зависеть от локализации базы данных (суб и вос. выходные).

dat1 date;
dat2 date;

Использовать функции.

DATE( dat2 - dat1 ) - число дней между датами
DATE( dat1, 'D' ) - округление на начало недели
DATE_FORMAT( dat1, 'MM' ) - округление на начало месяца

LEAST ( y, x ) - min зн.
GREATEST ( y, x )- max зн.
FLOOR (a) – округление до максимального целого, меньше y
y mod x – остаток от деления a на x
...
Рейтинг: 0 / 0
Вычисление числа раб. дней между двумя датами
    #39846701
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дипер,

Вы хотите нас протестировать?
Сомневаюсь, что нам это требуется.
...
Рейтинг: 0 / 0
Вычисление числа раб. дней между двумя датами
    #39846732
дипер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Нет.

Вот в принципе решение, только без

FLOOR (a) – округление до максимального целого, меньше y
y mod x – остаток от деления a на x

и на ORACLE. Интересно как такое на MySQL Сделать.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select count(*)
from
(select to_char(:start_date+ t.r,'DY') dy
 from (select rownum-1 r 
from dba_objects 
where rownum<=(select trunc(sysdate)-:start_date+1
 from dual)) t) d
where d.dy not in ('SUN','SAT')
...
Рейтинг: 0 / 0
Вычисление числа раб. дней между двумя датами
    #39846737
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
диперИспользовать функции.Во-первых, с этим требованием в условиях MySQL можно идти нахрен.
Во-вторых, и в Оракле они не сильно требуются для решения задачи.
Решение - элементарное. Берётся разность в полных неделях (DATEDIFF), множится на 5. И вносится корректировка в зависимости от дня недели (DAYOFWEEK + CASE) даты начала и конца периода (плюс-минус 1 или 2).
диперВот в принципе решениеХрень это, а не решение... Что будешь делать, если в диапазоне больше дней, чем объектов на сервере?
...
Рейтинг: 0 / 0
Вычисление числа раб. дней между двумя датами
    #39846743
дипер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Правильно ли я понял, что решить данную задачу в MySQL не реально?
...
Рейтинг: 0 / 0
Вычисление числа раб. дней между двумя датами
    #39846747
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
диперПравильно ли я понял, что решить данную задачу в MySQL не реально?
Вот как можно ТАК понять мою фразу
AkinaРешение - элементарное.
???
...
Рейтинг: 0 / 0
Вычисление числа раб. дней между двумя датами
    #39846748
дипер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

AkinaВо-первых, с этим требованием в условиях MySQL можно идти нахрен.


Не совсем понял данное выражение. Слишком много хренов =)
...
Рейтинг: 0 / 0
Вычисление числа раб. дней между двумя датами
    #39846750
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дипер , ну так посмотри на строку выше - там написано, с каким условием надо пойти по указанному маршруту. В основном - по причине того, что в MySQL подобное использование функций DATE() и DATE_FORMAT() тупо не существует.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вычисление числа раб. дней между двумя датами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]