PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Ajouter des heures à une valeur de temps dans PostgreSQL

Dans PostgreSQL, nous pouvons utiliser le + opérateur pour ajouter une ou plusieurs heures à une valeur de temps.

Par valeur "time", cela pourrait être un réel time valeur, un timestamp , ou un interval . Nous pouvons également ajouter des heures à une date valeur ou une date et time combinaison.

Exemple

Nous pouvons spécifier des intervalles lors de l'ajout de dates et d'heures. Par exemple, nous pouvons utiliser time ou hours pour ajouter une ou plusieurs heures :

SELECT time '08:35' + interval '1 hour';

Résultat :

09:35:00

Pluriel

Et au pluriel :

SELECT time '08:35' + interval '2 hours';

Résultat :

10:35:00

Horodatages

Et le voici avec un timestamp valeur :

SELECT timestamp '2030-01-20 08:35' + interval '2 hours';

Résultat :

2030-01-20 10:35:00

Intervalles

Nous pouvons également ajouter des heures à un interval :

SELECT interval '23 hours' + interval '2 hours';

Résultat :

25:00:00

Dates

Nous pouvons même ajouter des heures à une date valeur :

SELECT date '2030-01-20' + interval '3 hours';

Résultat :

2030-01-20 03:00:00

Le résultat est un timestamp valeur.

Valeurs de date et d'heure combinées

Nous pouvons également ajouter une date et time valeur ensemble, et ajoutez des heures à cela :

SELECT date '2030-01-20' + time '02:35' + interval '3 hours';

Résultat :

2030-01-20 05:35:00

Spécifié en minutes

Une autre façon de procéder consiste à spécifier le nombre équivalent en minutes :

SELECT time '15:45' + interval '60 minutes';

Résultat :

16:45:00

En faisant cela, nous n'avons pas besoin d'être exactement à l'heure. Par exemple, nous pourrions ajouter plus d'une heure, mais moins de deux :

SELECT time '15:45' + interval '90 minutes';

Résultat :

17:15:00

Valeurs négatives

Il est possible d'effectuer une arithmétique de date avec des valeurs négatives. Si nous utilisons une valeur négative avec le + opérateur, le nombre d'heures spécifié sera soustrait de la date/heure d'entrée. Mais si nous l'utilisons avec le - opérateur, alors il sera ajouté à la date/heure d'entrée.

Exemple :

SELECT time '03:00' - interval '-2 hours';

Résultat :

05:00:00