powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Диапазон дат (от даты до даты)
25 сообщений из 45, страница 1 из 2
Диапазон дат (от даты до даты)
    #39502782
mkr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите, как реализовать выборку дат по строкам за период
Код: plsql
1.
select from ...


или
Код: plsql
1.
for <date1> to <date2>
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39502785
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mkr,

не фига не понял.

WHERE field BETWEEN start_date AND end_date ?
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39502786
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использовать WHERE
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39502787
mkr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

нужно получить набор строк от start_date до end_date
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39502790
mkr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а-ля сырой календарь
(без привязки к своему набору данных)
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39502804
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
09.08.2017 17:18, mkr пишет:
> а-ля сырой календарь
> (без привязки к своему набору данных)

WITH RECURSIVE r AS (
-- стартовая часть рекурсии (т.н. "anchor")
SELECT
date'01.01.2017' AS D
from RDB$DATABASE

UNION ALL

-- рекурсивная часть
SELECT
D+1 AS D
FROM r
WHERE D < date'20.01.2017'
)
SELECT * FROM r;

зы: глубина НЕ БЕСКОНЕЧНА
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39502810
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mkr,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create or alter procedure get_dates (
    d1 date,
    d2 date)
returns (
    d date)
AS
begin
  d = d1-1;
  while (d < d2) do
  begin
    d = d+1;
    suspend;
  end
end
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39502818
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
-- очень нужная таблица на все случаи жизни
create table Calendar (_date date, day_of_week int, workday_5 int, workday_6 int, ...)

select _date
  from Calendar
  where _date between ...
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39502835
mkr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

спасибо!
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503157
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

и как ею пользоваться?
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503168
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доки как ею пользоваться?
Вообще полезная штука... 14789887
Особенно для аналитики.
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503178
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док> и как ею пользоваться?

Select-ы делать, вестимо.

У него необычно наличие нескольких
полей для пятидневки и шестидневки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503236
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

У Вадмана он уж слишком, на мой взгляд, перегружен.
И в то же время не содержит нужной информации, например, по пятидневке/шестидневке, если используется для табеля.

Кроме тупо соединения календаря с чем угодно, получая даты подряд, даже если соединяемых данных нет, например:
Код: sql
1.
2.
3.
select C._date, sum(D.summa)
  from Calendar C join Documents D on D._date = C._date
  group by C._date



Применений ещё полно. Например, количество рабочих дней по шестидневке:
Код: sql
1.
2.
3.
select sum(workday_6)
  from Calendar
  where _date between ...



Легко считаются рабочие / нерабочие / банковские / шманковские дни и всякое такое.
Например, можно посчитать планируемые даты оплаты для группы документов, с учётом отсрочки, по банковским дням:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select D.Doc, D._date ДатаДокумента, max(C._date) ДатаОплаты
  from Documents D
       join Contracts Cn on Cn.id = D.contract_id
       join (select C1._date
               from Calendar С1 on C1._date >= D._date
                    join Calendar С2 on C2._date between D._date and C1._date
               having sum(C2.workday_5)+1 = Cn.days_of_payment_determent) C
  group by D.Doc, D._date
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503245
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, а кто и когда заполняет эту таблицу? Или скриптом один раз сразу на века? Потом правка, если что.
У нас есть что-то подобное, но мы храним отклонения. Если выходной переносится на рабочий и т.д.
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503246
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> по пятидневке/шестидневке, если используется для табеля.

А что, это действительно пригождалось?
И как ты тогда постпупал со всякими
индивидуалами, переработками и пр.?
Или учёт этого в отдельных таблицах?


> Легко считаются ... банковские / шманковские дни и всякое такое.

Шо це таке? "3 банковских дня" ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503249
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIНарод, а кто и когда заполняет эту таблицу? Или скриптом один раз сразу на века? Потом правка, если что.
У нас есть что-то подобное, но мы храним отклонения. Если выходной переносится на рабочий и т.д.На далёкое будущее как правило не требуется.
Заполняю, когда производственный календарь на следующий год утверждают.
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503250
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI> Народ, а кто и когда заполняет эту таблицу?
KreatorXXI> Или скриптом один раз сразу на века? Потом правка, если что.

Кто-то из ОК (или "программист" по их просьбе),
в любой рабочий день, обычно на месяц-два вперёд.
В преддверии/после всяких праздников - правится.


KreatorXXI> У нас есть что-то подобное, но мы храним отклонения.
KreatorXXI> Если выходной переносится на рабочий и т.д.

Что за отклонения? "13 был праздничный день"?
Отклонения же надо с чем-то сопоставлять.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503258
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамА что, это действительно пригождалось?
И как ты тогда постпупал со всякими
индивидуалами, переработками и пр.?
Или учёт этого в отдельных таблицах?Индивидуальные графики, разумеется, в отдельных таблицах.
Они могут заполняться как на основании календаря, так и вообще полностью руками.

Шестидневка почти никогда. Один раз припоминаю, для какого-то хитро..опого табеля.

Гаджимурадов РустамШо це таке? "3 банковских дня" ?Значит, дни, когда работает банк. Как правило, равен "пятидневке".
Календарная дата сдвигается с учётом рабочих/праздничных/перенесённых.
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503263
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамв любой рабочий день, обычно на месяц-два вперёд.Производственный календарь утверждается на весь год, соответственно, помесячно с ним возиться смысла нет.
Гаджимурадов РустамЧто за отклонения? "13 был праздничный день"?
Отклонения же надо с чем-то сопоставлять."воскресенье 1 января переносится на пятницу 24 февраля"
Это значит, что 1 января считается как праздничный день, а 24 февраля - как воскресенье.
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503276
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> Шестидневка почти никогда.

Собсно, почему я и спросил. Как-то не встречал
организаций, работающих одновременно в обоих
режимах, или то, или другое. Всякая спецовка
(охрана и пр.) - посменные.

WildSery> помесячно с ним возиться смысла нет.

Да, но и нужен-то он, по сути, раз в месяц.

> "воскресенье 1 января переносится на пятницу 24 февраля"
> Это значит, что 1 января считается как праздничный день,
> а 24 февраля - как воскресенье.


А они как-то по особенному хранятся?
Все "переносы" отмечаются как обычно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503302
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамСобсно, почему я и спросил. Как-то не встречал
организаций, работающих одновременно в обоих
режимах, или то, или другое. Всякая спецовка
(охрана и пр.) - посменные.В управлении ресторанами. Там для всяких забегаловок и кейтеринга всё что угодно бывает, в том числе одновременно.
Гаджимурадов РустамА они как-то по особенному хранятся?
Все "переносы" отмечаются как обычно.Могут храниться.
Я обычно такой ерундой не занимаюсь - заполняется шаблон на год, а затем ручками эти несколько переносов, проставляют правильный тип дня.
Поскольку с какой конкретно даты был перенос, ни для одного расчёта не пригодится.
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503311
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамКак-то не встречал организаций, работающих одновременно в обоих режимах, или то, или другое.

В смысле?
Стандартная ситуация:
Основная схема - 8*5
Охрана - сутки через двое/трое.
Дежурная тех смена - 12 через 24/36
и т.д. в зависимости от специфики.
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503448
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЧто за отклонения? "13 был праздничный день"?
Отклонения же надо с чем-то сопоставлять.

У нас считается - будни, выходные суббота и воскресенье. Если всё так, то записей не надо. Если, например, суббота 12 августа рабочий день, то для него добавляется метка "Рабочий день". Для будней может быть метка "Выходной день". Праздники тоже самое. Как-то так. Всё же не понятно, кому поручить ввод календаря. У нас-то, если даже никто ничего не введёт (отклонения), программа всё равно будет отображать будни и выходные.
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503456
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> всё что угодно бывает, в том числе одновременно.

Ясно, спасибо. Надо было в ту тему wadman-a твой вариант
запостить, на будущее. Может, кому и пригодится.

982183> В смысле?

В прямом. Или пятидневка, или шестидневка.
Чтобы одновременно - ну вот не сталкивался.
Хотя нет, соврал ошибся - таки сталкивался -
во всяких учебных заведениях (вузы, школы)
такое возможно, когда вся "учебка" - в 6-ку,
а некоторые отделы "АУП" - бухи, ОК etc -
в пятнидевку. Хотя и тут, по сути, календарь
одинаковый, просто у некоторых привилегии.

> Основная схема - 8*5
> Охрана - сутки через двое/трое.
> Дежурная тех смена - 12 через 24/36
> и т.д. в зависимости от специфики.

Это к календарю никакого отношения не имеет,
это личные трудовые графики сотрудников.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Диапазон дат (от даты до даты)
    #39503463
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIУ нас считается - будни, выходные суббота и воскресенье. Если всё так, то записей не надо. Если, например, суббота 12 августа рабочий день, то для него добавляется метка "Рабочий день". Для будней может быть метка "Выходной день". Праздники тоже самое. Как-то так.
Я и говорю - Вы храните "отклонения".

Чтобы их использовать - нужно (или нет?) их с чем-то
сопоставлять, т.е. с "обычным" календарём, который
нужно либо хранить, либо каждый раз "считать".

> Всё же не понятно, кому поручить ввод календаря.
> У нас-то, если даже никто ничего не введёт (отклонения),
> программа всё равно будет отображать будни и выходные.

Вы пытаетесь найти проблему там, где её нет, ИМХО.
Выходные можно и раз в год автоматом заполнить,
а вот все остальные праздники (май, НГ и пр.) - нет,
кто-то должен вводить (кто - я уже отвечал).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Диапазон дат (от даты до даты)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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