Searching...
miércoles, 10 de mayo de 2023

Generar rango de fechas en Presto SQL

 Para generar un rango de fechas en Presto SQL podemos utilizar la función sequence combinada con la función date_add. La sintaxis sería la siguiente:


SELECT date_add('day', x, 'fecha_inicial') AS fecha FROM UNNEST(sequence(0, datediff('day', 'fecha_inicial', 'fecha_final'))) AS t(x)


Explicación de la consulta:

  • datediff('day', 'fecha_inicial', 'fecha_final'): Calcula la diferencia en días entre la fecha inicial y la final.
  • sequence(0, datediff('day', 'fecha_inicial', 'fecha_final')): Genera una secuencia de números desde 0 hasta el número de días de diferencia entre las dos fechas.
  • UNNEST: Convierte la secuencia en una tabla con una columna llamada x.
  • date_add('day', x, 'fecha_inicial'): Agrega x días a la fecha inicial para obtener cada fecha del rango.

Ejemplo de código:

Supongamos que queremos generar un rango de fechas desde el 1 de mayo de 2023 hasta el 10 de mayo de 2023:

SELECT date_add('day', x, DATE '2023-05-01') AS fecha FROM UNNEST(sequence(0, datediff('day', DATE '2023-05-01', DATE '2023-05-10'))) AS t(x)

Resultado:

 fecha    
----------
 2023-05-01
 2023-05-02
 2023-05-03
 2023-05-04
 2023-05-05
 2023-05-06
 2023-05-07
 2023-05-08
 2023-05-09
 2023-05-10
(10 rows)

0 comentarios:

Publicar un comentario

Gracias por participar en esta página.

 
Back to top!