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