powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / SQL [закрыт для гостей] / Зодачко, Поиск: Искать сообщения, созданные автором: 9288  
11 сообщений из 11, страница 1 из 1
SQL / Зодачко
    #180246
9288
Скрыть профиль Поместить в игнор-лист
Участник
Тупой перебор с проверкой последнего дня февраля
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
tst> with t as (select date'1222-01-01' t_beg, sysdate t_end from dual),
  2       r as (select extract(year from t_beg)-1+rownum t_year
  3             from dual, t connect by level <= months_between(t_end, t_beg)/12+1),
  4       m as (select to_date('01-03-'||t_year, 'dd-mm-yyyy')-1 t_dt from r)
  5  select count(*) from m, t where t_dt between t_beg and t_end
  6  and extract(day from t_dt)=29
  7  /

  COUNT(*)
----------
       197
...
Изменено: 11.10.2022, 04:12 - 9288
Рейтинг: 1 / 0
Нравится: vimba
SQL / Зодачко
    #186827
9288
Скрыть профиль Поместить в игнор-лист
Участник
А зачем?
Или ты считаешь что надо найти года, делящаеся на 4, убрать делящиеся на 1000 и т.п. вычисления?
Ты уверен, что это сработает в начале эры?
Юлианский/грегорианский календарь не без изъебов
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186835
9288
Скрыть профиль Поместить в игнор-лист
Участник
На 100 убрать, на 1000 оставить, сам запутался :(((
2000 так-то тоже нивисокосный был
Но смысла для разовой задачи не вижу -- только как тут любят, проверить на знание предмета
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186863
9288
Скрыть профиль Поместить в игнор-лист
Участник
Doublekey  17.10.2022, 07:42
[игнорируется]
9288  17.10.2022, 07:20
[игнорируется]
На 100 убрать, на 1000 оставить, сам запутался :(((
2000 так-то тоже нивисокосный был
Но смысла для разовой задачи не вижу -- только как тут любят, проверить на знание предмета
ну вот на знание предмета и давали, причем тем кто не в курсе рекурсивных методов.
В чем прикол?
Ну можно запросить ALL_OBJECTS или GENERATE_SERIES (или как он там называется)
Или можно решить, что ты знаешь как вычисляется високосный год (какой год был 0?)
Но зачем?
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186876
9288
Скрыть профиль Поместить в игнор-лист
Участник
Doublekey  17.10.2022, 08:06
[игнорируется]
но у и если оллобжект брать как вариант генерации последовательности а месяцев может быть больше
и кстати у всех ли пользователей есть доступ к этой таблице
Ты путаешь
Доступ есть у всех, но если хочется побольше можно и декартово произведение с ним же захреначить

Но ты так и не привел красивого решения
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186902
9288
Скрыть профиль Поместить в игнор-лист
Участник
Мне в свое время очень нравилась схема расчетов в одной плаьежной системе
То у них год считается за 360 дней (маленькте месяцы дополняютмя), то остаток считается по минимуму/среднему/исходящему/входящему остатку по счету
Весьма гибкая, но не факт, что соответствовала законодательству
Правда и законодательство не очень суровое было -- таки 90-е годы
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186943
9288
Скрыть профиль Поместить в игнор-лист
Участник
Чистая математика здесь, к сожалению, не работает
Если ты в курсе, то все эти 29 февраля пошли именно из-за различия в дате Пасхи
(и не надо держать наркомана)
Пока это не будет закреплено в соответствующем ПО, это будет не очень-то легитимно
Сказал коряво, но как-то так :)))
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186961
9288
Скрыть профиль Поместить в игнор-лист
Участник
Т.е. таки перебор?
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186964
9288
Скрыть профиль Поместить в игнор-лист
Участник
А, или end_date-start_date и month_between и вычисление лишнего?
Ну тоже годно
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186975
9288
Скрыть профиль Поместить в игнор-лист
Участник
Ты ведь до сих пор не ответил -- 0 год -- это какой
Только чур, в википедию не лезть!
...
Рейтинг: 0 / 0
SQL / Зодачко
    #186979
9288
Скрыть профиль Поместить в игнор-лист
Участник
Хорошо, залезь в википедию
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / SQL [закрыт для гостей] / Зодачко, Поиск: Искать сообщения, созданные автором: 9288  
Читали тему (1): Анонимы (1)
Читали форум (2): Анонимы (1), Yandex Bot
Пользователи онлайн (33): Анонимы (24), Yandex Bot, Biene Maja 1 мин., Bing Bot 2 мин., s62 2 мин., Ветер 3 мин., Дед-Папыхтет 3 мин., MaksRoman0w 4 мин., Гарыныч 5 мин., XEugene 7 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


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