No PostgreSQL, podemos usar o
- operador para subtrair um ou mais minutos de um valor de tempo. Pelo valor "time", isso pode ser um
time real valor, um timestamp , ou um interval . Também podemos subtrair minutos de uma date valor ou uma date e time combinação. Exemplo
Podemos especificar intervalos ao realizar aritmética em relação a datas e horas. Então, para subtrair um ou mais minutos, podemos usar
minute ou minutes :SELECT time '07:00' - interval '1 minute'; Resultado:
06:59:00
Plural
E no plural:
SELECT time '07:00' - interval '45 minutes'; Resultado:
06:15:00
Carimbos de data e hora
E aqui está com um
timestamp valor:SELECT timestamp '2030-01-20 09:00' - interval '30 minutes'; Resultado:
2030-01-20 08:30:00
Intervalos
Também podemos subtrair minutos de um
interval :SELECT interval '5 hours' - interval '90 minutes'; Resultado:
03:30:00
Datas
Podemos até subtrair minutos de uma
date valor:SELECT date '2030-01-20' - interval '12 minutes'; Resultado:
2030-01-19 23:48:00
O resultado é um
timestamp valor. Valores de data e hora combinados
Também podemos adicionar uma
date e time valor juntos e subtrair minutos disso:SELECT date '2030-01-20' + time '01:00' - interval '18 minutes'; Resultado:
2030-01-20 00:42:00
Especificado em segundos
Alternativamente, podemos subtrair o número equivalente em segundos:
SELECT time '15:45' - interval '120 seconds'; Resultado:
15:43:00
Especificado em horas
Se os minutos a serem subtraídos estiverem em incrementos de 60 minutos, podemos alternativamente usar horas:
SELECT time '15:45' - interval '1 hour'; Resultado:
14:45:00
Valores negativos
É possível realizar aritmética de datas com valores negativos. Se usarmos um valor negativo com o
- operador, então o número especificado de minutos será adicionado à data/hora de entrada. Mas se usarmos com o + operador, então ele será subtraído da data/hora de entrada. Exemplo:
SELECT time '03:00' + interval '-2 minutes'; Resultado:
02:58:00