Referencia de funciones

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 defecto
integerOpcional
months
Número de meses, 0 por defecto
integerOpcional
weeks
Número de semanas, 0 por defecto
integerOpcional
days
Número de días, 0 por defecto
integerOpcional
hours
Número de horas, 0 por defecto
integerOpcional
mins
Número de minutos, 0 por defecto
integerOpcional
secs
Número de segundos, puede tener decimales; 0 por defecto
double 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);
make_interval
10 days

Intervalo a partir de segundos

PostgreSQL 17.9
SELECT MAKE_INTERVAL(0, 0, 0, 0, 0, 0, 3661);
make_interval
01:01:01

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.

Véase también