En PostgreSQL, podemos usar +
operador para agregar una o más horas a un valor de tiempo.
Por valor de "tiempo", podría ser un time
real valor, una timestamp
, o un interval
. También podemos agregar horas a una date
valor o una date
y time
combinación.
Ejemplo
Podemos especificar intervalos al agregar fechas y horas. Por ejemplo, podemos usar hour
o hours
para agregar una o más horas:
SELECT time '08:35' + interval '1 hour';
Resultado:
09:35:00
Plural
Y en forma plural:
SELECT time '08:35' + interval '2 hours';
Resultado:
10:35:00
Marcas de tiempo
Y aquí está con una timestamp
valor:
SELECT timestamp '2030-01-20 08:35' + interval '2 hours';
Resultado:
2030-01-20 10:35:00
Intervalos
También podemos agregar horas a un interval
:
SELECT interval '23 hours' + interval '2 hours';
Resultado:
25:00:00
Fechas
Incluso podemos agregar horas a una date
valor:
SELECT date '2030-01-20' + interval '3 hours';
Resultado:
2030-01-20 03:00:00
El resultado es una timestamp
valor.
Valores de fecha y hora combinados
También podemos agregar una date
y time
valor juntos, y agregue horas a eso:
SELECT date '2030-01-20' + time '02:35' + interval '3 hours';
Resultado:
2030-01-20 05:35:00
Especificado en minutos
Otra forma de hacerlo es especificar el número equivalente en minutos:
SELECT time '15:45' + interval '60 minutes';
Resultado:
16:45:00
Al hacer esto, no necesitamos estar exactamente en la hora. Por ejemplo, podríamos agregar más de una hora, pero menos de dos:
SELECT time '15:45' + interval '90 minutes';
Resultado:
17:15:00
Valores negativos
Es posible realizar aritmética de fechas con valores negativos. Si usamos un valor negativo con el +
operador, el número de horas especificado se restará de la fecha/hora de entrada. Pero si lo usamos con el -
operador, luego se agregará a la fecha/hora de entrada.
Ejemplo:
SELECT time '03:00' - interval '-2 hours';
Resultado:
05:00:00