Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Как выбрать месяца за период?  [new]
tiproktikum
Member

Откуда:
Сообщений: 61
Есть период времени, необходимо написать sql запрос, который выведет список всех месяцев (с годами), вошедших в период.

Например период с 01/01/2019 по 20/05/2019.

Результат запроса:
01/2019
02/2019
03/2019
04/2019
05/2019

Как сделать? спс.
29 мар 19, 17:33    [21847417]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать месяца за период?  [new]
tiproktikum
Member

Откуда:
Сообщений: 61
Запрос надо сделать не из таблицы конкретной, а из великого ничто.
29 мар 19, 17:35    [21847422]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать месяца за период?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29784

смотри примеры рекурсивных запросов WITH RECURSIVE

Posted via ActualForum NNTP Server 1.5

29 мар 19, 17:43    [21847438]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать месяца за период?  [new]
vvvait
Member

Откуда:
Сообщений: 70
execute block предлагать?
29 мар 19, 18:33    [21847508]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать месяца за период?  [new]
fraks
Member

Откуда: Новосибирск
Сообщений: 1432
Весьма просто можно сделать процедурой или execute block.
29 мар 19, 18:41    [21847513]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать месяца за период?  [new]
vvvait
Member

Откуда:
Сообщений: 70
без рекурсии на 900 дней разницы

with
  SECUENCE as
  (select cast(:DATE_FROM as date) + r0.RDB$RELATION_ID + r1.RDB$RELATION_ID * 30 as ADATE
   from RDB$DATABASE d
   join RDB$RELATIONS r0 on r0.RDB$RELATION_ID < 30
   join RDB$RELATIONS r1 on r1.RDB$RELATION_ID < 30
   order by 1)
select distinct substring(ADATE from 1 for 7)
from SECUENCE
where ADATE <= :DATE_TO
29 мар 19, 18:58    [21847529]     Ответить | Цитировать Сообщить модератору
 Re: Как выбрать месяца за период?  [new]
tiproktikum
Member

Откуда:
Сообщений: 61
vvvait,

Спасибо!
Работает!!!
31 мар 19, 11:03    [21848171]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить