No PostgreSQL, podemos usar o
+ operador para adicionar uma ou mais horas a um valor de tempo. Pelo valor "time", isso pode ser um
time real valor, um timestamp , ou um interval . Também podemos adicionar horas a uma date valor ou uma date e time combinação. Exemplo
Podemos especificar intervalos ao adicionar datas e horas. Por exemplo, podemos usar
time ou hours para adicionar uma ou mais horas:SELECT time '08:35' + interval '1 hour'; Resultado:
09:35:00
Plural
E no plural:
SELECT time '08:35' + interval '2 hours'; Resultado:
10:35:00
Carimbos de data e hora
E aqui está com um
timestamp valor:SELECT timestamp '2030-01-20 08:35' + interval '2 hours'; Resultado:
2030-01-20 10:35:00
Intervalos
Também podemos adicionar horas a um
interval :SELECT interval '23 hours' + interval '2 hours'; Resultado:
25:00:00
Datas
Podemos até adicionar horas a uma
date valor:SELECT date '2030-01-20' + interval '3 hours'; Resultado:
2030-01-20 03:00:00
O resultado é um
timestamp valor. Valores de data e hora combinados
Também podemos adicionar uma
date e time valor juntos, e adicionar horas a isso:SELECT date '2030-01-20' + time '02:35' + interval '3 hours'; Resultado:
2030-01-20 05:35:00
Especificado em minutos
Outra maneira de fazer isso é especificar o número equivalente em minutos:
SELECT time '15:45' + interval '60 minutes'; Resultado:
16:45:00
Ao fazer isso, não precisamos estar exatamente na hora. Por exemplo, poderíamos adicionar mais de uma hora, mas menos de duas:
SELECT time '15:45' + interval '90 minutes'; Resultado:
17:15: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 horas será subtraído da data/hora de entrada. Mas se usarmos com o - operador, então ele será adicionado à data/hora de entrada. Exemplo:
SELECT time '03:00' - interval '-2 hours'; Resultado:
05:00:00