SQL Server tem seu
DATEADD()
função que adiciona um intervalo a um valor de data. DATE_ADD()
do MySQL e ADDDATE()
for faz a mesma coisa, assim como o DATE_ADD()
do MariaDB e ADDDATE()
. SQLite tem um DATE()
função que também oferece a opção de adicionar um intervalo a uma determinada data. Mas o PostgreSQL não tem um
DATEADD()
ou função equivalente. No entanto, isso não significa que não podemos adicionar datas no Postgres. Podemos adicionar e subtrair valores de datas com operadores de data/hora como
+
e -
. Exemplos
Adicione cinco dias a uma data:
SELECT date '2027-05-20' + integer '5';
Resultado:
2027-05-25
Subtraia cinco dias de uma data usando um valor negativo:
SELECT date '2027-05-20' + integer '-5';
Resultado:
2027-05-15
Subtraia cinco dias de uma data usando o sinal de menos (
-
):SELECT date '2027-05-20' - integer '5';
Resultado:
2027-05-15
Adicione cinco semanas a uma data, especificada por dias:
SELECT date '2027-05-20' + integer '35';
Resultado:
2027-06-24
Adicione cinco semanas a uma data usando
interval
:SELECT date '2027-05-20' + interval '5 week';
Resultado:
2027-06-24 00:00:00
Adicione cinco meses a uma data usando
interval
:SELECT date '2027-05-20' + interval '5 month';
Resultado:
2027-10-20 00:00:00
Adicione cinco horas a uma data:
SELECT date '2027-05-20' + interval '5 hour';
Resultado:
2027-05-20 05:00:00
Adicione cinco minutos a uma data:
SELECT date '2027-05-20' + interval '5 minute';
Resultado:
2027-05-20 00:05:00
Adicionar uma hora a uma data:
SELECT date '2027-05-20' + time '05:45';
Resultado:
2027-05-20 05:45:00