powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / недели года
7 сообщений из 7, страница 1 из 1
недели года
    #39754046
AndrewVL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

нашел тут на форуме процедурку, которая генерит календарь. нагенерил.


пробую вывести с разбивкой по неделям и с указанием начала недели и окончания

Код: sql
1.
2.
3.
4.
5.
6.
 select distinct c.week_of_year
,(select min(val) from sys$calendar c0 where c0.year_of = c.year_of and c0.week_of_year = c.week_of_year  ) --and c0.month_of_year = c.month_of_year
,(select max(val) from sys$calendar c0 where c0.year_of = c.year_of and c0.week_of_year = c.week_of_year  )

,1
 from  sys$calendar c



но вот это вот
Код: sql
1.
 select extract(week from cast('01.01.2011' as date) ) from rdb$database



равно 52

и на стыке лет запрос показывает ерунду полную. подзапросы неверные даты выбирают
вернее для чистой первой январской недели все ок. а вот если 1 января было "переходным" на неделе, то ерунду показывает.

например 53 неделя января 2016 это 01.01.2016 - 03.01.2016
хотя в идеале это должно быть 28.12.2015 - 03.01.2016

Можно как то "полечить"?)
...
Рейтинг: 0 / 0
недели года
    #39754069
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewVL,

1 января 2011 года - это суббота. Начало недели в 2010 году.
Дальше объяснять?

Подзапросы выбирают неверные даты, потому что это неправильно написанные подзапросы.
...
Рейтинг: 0 / 0
недели года
    #39754073
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ. Только на днях сделал чумовую "хотелку" финансиста, чтобы отчёт выводился "по неделям", причём неделя начинается с начала периода отчёта, а не с понедельника.
...
Рейтинг: 0 / 0
недели года
    #39754150
AndrewVL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryAndrewVL,

1 января 2011 года - это суббота. Начало недели в 2010 году.
Дальше объяснять?

Подзапросы выбирают неверные даты, потому что это неправильно написанные подзапросы.
Да я понимаю, что начало недели в другом году)
И про подзапросы понимаю, что неверно работают. Хотя внутри года все ок

По этому и спросил
...
Рейтинг: 0 / 0
недели года
    #39754321
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryЗЫ. Только на днях сделал чумовую "хотелку" финансиста, чтобы отчёт выводился "по неделям", причём неделя начинается с начала периода отчёта, а не с понедельника.
давно пора твои и подобные им творения других отдельным топиком где-то прибить. Иногда бывает надо, а не найдешь.
...
Рейтинг: 0 / 0
недели года
    #39754324
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

Это хотелка отмороженая, а реализация-то проще пареной репы.
Простой счётчик, дальше остаток от деления на 7. Это и есть день недели.
...
Рейтинг: 0 / 0
недели года
    #39754326
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

Рассматривался ещё вариант сдвига вычисляемой даты на минус день недели.
Но у меня там уже был готовый счётчик-календарь, потому не запаривался.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / недели года
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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