In PostgreSQL, possiamo usare -
operatore per sottrarre uno o più minuti da un valore temporale.
Per valore "tempo", questo potrebbe essere un time
effettivo valore, un timestamp
o un interval
. Possiamo anche sottrarre minuti da una date
valore o una date
e time
combinazione.
Esempio
Possiamo specificare gli intervalli durante l'esecuzione di operazioni aritmetiche rispetto a date e orari. Quindi per sottrarre uno o più minuti, possiamo usare minute
o minutes
:
SELECT time '07:00' - interval '1 minute';
Risultato:
06:59:00
Plurale
E al plurale:
SELECT time '07:00' - interval '45 minutes';
Risultato:
06:15:00
Data e ora
Ed eccolo qui con un timestamp
valore:
SELECT timestamp '2030-01-20 09:00' - interval '30 minutes';
Risultato:
2030-01-20 08:30:00
Intervalli
Possiamo anche sottrarre minuti da un interval
:
SELECT interval '5 hours' - interval '90 minutes';
Risultato:
03:30:00
Date
Possiamo anche sottrarre minuti da una date
valore:
SELECT date '2030-01-20' - interval '12 minutes';
Risultato:
2030-01-19 23:48:00
Il risultato è un timestamp
valore.
Valori di data e ora combinati
Possiamo anche aggiungere una date
e time
valore insieme e sottrarre minuti da quello:
SELECT date '2030-01-20' + time '01:00' - interval '18 minutes';
Risultato:
2030-01-20 00:42:00
Specificato in pochi secondi
In alternativa possiamo sottrarre il numero equivalente in secondi:
SELECT time '15:45' - interval '120 seconds';
Risultato:
15:43:00
Specificato in ore
Se i minuti da sottrarre sono in incrementi di 60 minuti, possiamo in alternativa utilizzare le ore:
SELECT time '15:45' - interval '1 hour';
Risultato:
14:45:00
Valori negativi
È possibile eseguire aritmetica della data con valori negativi. Se utilizziamo un valore negativo con -
operatore, il numero di minuti specificato verrà aggiunto alla data/ora di input. Ma se lo usiamo con il +
operatore, verrà sottratto dalla data/ora di input.
Esempio:
SELECT time '03:00' + interval '-2 minutes';
Risultato:
02:58:00