Как запросом получить список интервалов дат?
На входе 2 параметра &НП – начало периода и &КП – конец периода
Пример:
Д
01.01.2022 0:00:00
01.02.2022 0:00:00
01.03.2022 0:00:00
01.04.2022 0:00:00
01.05.2022 0:00:00
01.06.2022 0:00:00
01.07.2022 0:00:00
01.08.2022 0:00:00
01.09.2022 0:00:00
01.10.2022 0:00:00
01.11.2022 0:00:00
01.12.2022 0:00:00
|
1 2 |
ВЫБРАТЬ 0 КАК Ч ПОМЕСТИТЬ Ц ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9; ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НП, МЕСЯЦ, В1.Ч * 100 + В2.Ч * 10 + В3.Ч) КАК Д ИЗ Ц КАК В1, Ц КАК В2, Ц КАК В3 ГДЕ ДОБАВИТЬКДАТЕ(&НП, МЕСЯЦ, В1.Ч * 100 + В2.Ч * 10 + В3.Ч) МЕЖДУ &НП И &КП УПОРЯДОЧИТЬ ПО Д; |
Для изменения интервала достаточно изменить в запросе в двух функциях ДОБАВИТЬКДАТЕ период МЕСЯЦ на нужный интервал: СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, КВАРТАЛ, ГОД и т.п.
ещё одна вариация на эту же тему с использованием АВТОНОМЕРЗАПИСИ()
|
1 2 3 4 |
ВЫБРАТЬ 0 ПОМЕСТИТЬ Д ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 0; ВЫБРАТЬ 0, АВТОНОМЕРЗАПИСИ() КАК Н ПОМЕСТИТЬ А ИЗ Д Д1, Д Д2, Д Д3, Д Д4, Д Д5; ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НП, День, Н - 1) КАК Д ПОМЕСТИТЬ Б ИЗ А; ВЫБРАТЬ Д ИЗ Б ГДЕ Д МЕЖДУ &НП И &КП УПОРЯДОЧИТЬ ПО Д |
Интервал: вместо День указываем нужный: Месяц, СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, КВАРТАЛ, ГОД и т.п.
В параметрах &НП и &КП – начало и конец периода
Пример (Интервал ЧАС):
Д
01.01.2026 0:00:00
01.01.2026 1:00:00
01.01.2026 2:00:00
01.01.2026 3:00:00
01.01.2026 4:00:00
01.01.2026 5:00:00
01.01.2026 6:00:00
01.01.2026 7:00:00
01.01.2026 8:00:00
01.01.2026 9:00:00
01.01.2026 10:00:00
01.01.2026 11:00:00
01.01.2026 12:00:00
01.01.2026 13:00:00
01.01.2026 14:00:00
01.01.2026 15:00:00
01.01.2026 16:00:00
01.01.2026 17:00:00
01.01.2026 18:00:00
StudyDocx
08.10.2022 в 23:21 /
Класс!
whoiscall.ru
29.11.2022 в 10:41 /
Просто и понятно. Спасибо.