Dans PostgreSQL, nous pouvons utiliser le - opérateur pour soustraire une ou plusieurs minutes d'une valeur de temps.
Par valeur "time", cela pourrait être un réel time valeur, un timestamp , ou un interval . Nous pouvons également soustraire des minutes d'une date valeur ou une date et time combinaison.
Exemple
Nous pouvons spécifier des intervalles lors de l'exécution d'arithmétiques par rapport à des dates et des heures. Donc pour soustraire une ou plusieurs minutes, on peut utiliser minute ou minutes :
SELECT time '07:00' - interval '1 minute'; Résultat :
06:59:00
Pluriel
Et au pluriel :
SELECT time '07:00' - interval '45 minutes'; Résultat :
06:15:00
Horodatages
Et le voici avec un timestamp valeur :
SELECT timestamp '2030-01-20 09:00' - interval '30 minutes'; Résultat :
2030-01-20 08:30:00
Intervalles
Nous pouvons également soustraire des minutes d'un interval :
SELECT interval '5 hours' - interval '90 minutes'; Résultat :
03:30:00
Dates
Nous pouvons même soustraire des minutes d'une date valeur :
SELECT date '2030-01-20' - interval '12 minutes'; Résultat :
2030-01-19 23:48: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 soustrayez-en des minutes :
SELECT date '2030-01-20' + time '01:00' - interval '18 minutes'; Résultat :
2030-01-20 00:42:00
Spécifié en secondes
Nous pouvons alternativement soustraire le nombre équivalent en secondes :
SELECT time '15:45' - interval '120 seconds'; Résultat :
15:43:00
Spécifié en heures
Si les minutes à soustraire sont par incréments de 60 minutes, nous pouvons alternativement utiliser les heures :
SELECT time '15:45' - interval '1 hour'; Résultat :
14:45: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 de minutes spécifié sera ajouté à la date/heure d'entrée. Mais si on l'utilise avec le + opérateur, alors il sera soustrait de la date/heure d'entrée.
Exemple :
SELECT time '03:00' + interval '-2 minutes'; Résultat :
02:58:00