Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

172
Visualizações
Creando la función de intervalo de N días en postgresql

Estoy tratando de crear una función en postgresql que devuelva un conjunto de fechas entre dos fechas con un cierto intervalo. Por ejemplo, si paso estos dos parámetros de fecha como most_recent_day = 2020-01-10 y mininum_day = 2020-01-01 y este parámetro de intervalo n_day_group_interval = 5 , la función devolverá el siguiente conjunto:

 2020-01-10 2020-01-08 2020-01-06 2020-01-04 2020-01-02

El siguiente fue mi intento que da un syntax error at or near "end" . Gracias por tu ayuda.

 create function get_n_day_group_dates(most_recent_day date, minimum_day date, n_day_group_interval varchar) returns table ( n_day_group_dates date ) as $body$ begin return query SELECT date_trunc('day'::text, dd.dd)::date AS n_day_group_dates FROM LATERAL generate_series(most_recent_day, minimum_day, '-'||n_day_group_interval||' day'::interval) dd(dd) end; $body$ language plpgsql;
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Estás complicando demasiado las cosas. No se requiere LATERAL y date_trunc('day', ..) es lo mismo que lanzar hasta la date .

Para crear un intervalo basado en una variable, la forma más fácil es usar make_interval()

 create function get_n_day_group_dates(most_recent_day date, minimum_day date, n_day_group_interval varchar) returns table (n_day_group_dates date) as $body$ SELECT g.dt::date FROM generate_series(most_recent_day, minimum_day, make_interval(days => n_day_group_interval) as g(dt); $body$ language sql;
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda