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 llamadax
.date_add('day', x, 'fecha_inicial')
: Agregax
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.