PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Sottrai minuti da un valore temporale in PostgreSQL

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