|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
Доброго дня всем. Хотел бы спросить совета насчет одного решения. Необходимо каким-то образом сделать год равным 360 дням, то есть длина каждого месяца должна быть равна 30 дням. То есть февраль будет иметь 30 дней, все остальные месяцы тоже. Соответственно, нужна функция, позволяющая определять интервальное количество дней расстояния в таких "днях" между двумя датами. То есть, допустим, на входе имеются две даты ' 2020-2-28 ' и ' 2020-6-3 '. Поскольку февраль, как и май теперь равны 30 дням, функция должна выдать следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Может, только через какую-то приготовленную таблицу с датами? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 09:31 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
Xview, Не понятно, как поле FIELD_DAYS формируется. Но вообще, можете начать плясать вот от такого: Код: sql 1. 2. 3.
Только учтите, что последние 5-6 дней года окажутся в 13 месяце... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 09:49 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
Вы правы, в таблице результатов я немного ошибся. FIELD_DAYS для расчета интервалов для конкретного примера '2020-2-28' и '2020-6-3' формируется так. Берется дата начала интервала 2020-2-28. Поскольку теперь у нас в феврале 30 дней, то в расчет попадет 28, 29 и 30 февраля . Далее март, апрель и май длиной в 30 дней каждый и далее три дня из июня. Код: plaintext 1. 2. 3. 4. 5. 6.
Для интервала '2019-12-31' и '2020-6-3' должно быть так: Поскольку у нас декабрь теперь имеет только 30 дней, то начальная дата меняется на 2019-12-30 . Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
автортолько учтите, что последние 5-6 дней года окажутся в 13 месяце. Нет, месяцев должно быть 12, каждый по тридцать дней. Если начальный или конечный день попадает на 31 число, то автоматически считается, что это 30-е число. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 10:01 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
Xview, Вроде бы просто - полным месяцам пишите 30, первый и последний вычисляйте отдельно. Если первый и последний совпадают - берите разницу. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 16:56 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
Xview Необходимо каким-то образом сделать год равным 360 дням, то есть длина каждого месяца должна быть равна 30 дням. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 16:59 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
Xview, если у вас год не год, а ваши какие то тики , то и оперируйте не днями, а тиками - это чистая математика. Судя по всему ваша задача не из реального мира и обрабатываемые данные не от людей приходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2020, 20:00 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
Буржуины считают всё четрырёхнедельниками. Есть нюансы в первом четырёхнедельнике и в последнем. Именно так они считают бонусы и KPI , - по четырёхнедельным периодам. Но чтобы год резали кусками по 30 дней я не слышал... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 00:24 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
SIMPLicity_ Буржуины считают всё четрырёхнедельниками. Тут подойдет неделя ISO ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 08:03 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
a_voronin, да, вероятно. Но есть проблема с первой неделей - на стэковерфло муссировалась тема с SELECT DATEPART(isowk, '20141229'); - это число попало в первую неделю (уже следующего, как я понял, года). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 10:37 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
Может они с китайцами работают. А у них и колеса квадратные. Там мозги как у инопланетян. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 11:39 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
SIMPLicity_ Буржуины считают всё четрырёхнедельниками. Есть нюансы в первом четырёхнедельнике и в последнем. Именно так они считают бонусы и KPI , - по четырёхнедельным периодам. Но чтобы год резали кусками по 30 дней я не слышал... Расчетный период в Билайне. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 19:12 |
|
Расчет распределения временного интервала по 30-дневным месяцам
|
|||
---|---|---|---|
#18+
uaggster SIMPLicity_ Буржуины считают всё четрырёхнедельниками. Есть нюансы в первом четырёхнедельнике и в последнем. Именно так они считают бонусы и KPI , - по четырёхнедельным периодам. Но чтобы год резали кусками по 30 дней я не слышал... Расчетный период в Билайне. Или путает нас с названиями, т.е. что имеется в виду под "на входе имеются две даты '2020-2-28' и '2020-6-3'"? Даты в реальном календаре, или это 28 число второго месяца этого собственного календаря? PS Календарь для 360-дневного года с 12-тью 30 дневными месяцами. Лучше его хранить как таблицу, и использовать в запросах. Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 21:19 |
|
|
start [/forum/topic.php?fid=46&fpage=60&tid=1686132]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 162ms |
0 / 0 |