sql >> Base de Datos >  >> RDS >> PostgreSQL

Agregar horas a un valor de tiempo en PostgreSQL

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