Создать список всех дат между x & y - PullRequest
2 голосов
/ 17 апреля 2020

Я пытаюсь использовать решение, которое я нашел в Интернете, для создания таблицы всех дат между вчера и 1 января предыдущего года.

SELECT CAST(date_column AS DATE) AS DAY
FROM (
      VALUES (SEQUENCE(cast((YEAR(CURRENT_DATE)-1)||'-01-01' AS date), CURRENT_DATE - INTERVAL '1' DAY , INTERVAL '1' DAY) ) 
    ) AS t1(date_array)
CROSS JOIN UNNEST(date_array) AS t2(date_column)

Я получаю ошибки в 3-й строке, так как я не уверен, как динамически построить правильную дату для предыдущего года, которую я хочу. Если бы запрос выполнялся сегодня, я бы ожидал список всех дат от Jan 1st 2019 to Apr 16th 2020

1 Ответ

2 голосов
/ 17 апреля 2020

Хммм. , , Это работает?

SELECT t2.date_column
FROM (VALUES (SEQUENCE(DATE_TRUNC('year', CURRENT_DATE), CURRENT_DATE - INTERVAL '1' DAY ) ) 
     ) t(date_array) CROSS JOIN
     UNNEST(v.date_array) t2(day)
...