MAKE_INTERVAL
Crea un intervalo a partir de años, meses, semanas, días, horas, minutos y segundos.
PostgreSQL 17.9
MAKE_INTERVAL([years[, months[, weeks[, days[, hours[, mins[, secs]]]]]]])- [ ]parte opcional
- years
- Número de años, 0 por defectointegerOpcional
- months
- Número de meses, 0 por defectointegerOpcional
- weeks
- Número de semanas, 0 por defectointegerOpcional
- days
- Número de días, 0 por defectointegerOpcional
- hours
- Número de horas, 0 por defectointegerOpcional
- mins
- Número de minutos, 0 por defectointegerOpcional
- secs
- Número de segundos, puede tener decimales; 0 por defectodouble precisionOpcional
Valor devuelto
Intervalo (interval); las semanas se convierten en días y los segundos, en horas y minutos
Ejemplos
Intervalo con un argumento por nombre
PostgreSQL 17.9
SELECT MAKE_INTERVAL(days => 10);Intervalo a partir de segundos
PostgreSQL 17.9
SELECT MAKE_INTERVAL(0, 0, 0, 0, 0, 0, 3661);El momento dentro de dos semanas
PostgreSQL 17.9
SELECT CURRENT_DATE + MAKE_INTERVAL(weeks => 2) AS in_two_weeks;Detalles
Resulta cómodo pasar los argumentos por nombre: MAKE_INTERVAL(days => 10). Una fecha más un intervalo da una fecha con hora, por eso CURRENT_DATE + MAKE_INTERVAL(weeks => 2) devuelve las 00:00 de dentro de dos semanas.