Agregar días hasta la fecha en PostgreSQL

Shihab Sikder 20 junio 2023
  1. Crear una tabla que tenga un campo con tipo Fecha
  2. Añadir Días Con la fecha
Agregar días hasta la fecha en PostgreSQL

Postgres tiene datos de tipo fecha que podemos usar para almacenar información de fecha con diferentes estilos. Postgres también puede aumentar o disminuir la fecha o la hora con unidades específicas.

Este tutorial nos enseñará cómo agregar muchos días en fecha mientras usamos PostgreSQL.

Crear una tabla que tenga un campo con tipo Fecha

Tenemos una tabla de proyecto que contiene diferentes campos/columnas. Observe que esta tabla tiene su fecha de creación, y hay otra columna con un valor entero que queremos agregar con la fecha y mostrarla.

create table project (
  id INT,
  Project VARCHAR(50),
  Created DATE,
  Interval INT
);

insert into project (id, Project, Created, Interval)
values
( 1, 'Heron Therapeutics, Inc.', '2021-10-23', 9),
( 2, 'CryoPort, Inc.', '2022-05-07', 5),
( 4, 'Turtle Beach Corporation', '2022-07-27', 10),
( 5, 'Banco Santander Chile', '2022-02-08', 6),
( 6, 'BLACKROCK INTERNATIONAL, LTD.', '2022-07-28', 10),
( 7, 'Sohu.com Inc.', '2021-10-14', 12),
( 8, 'Northeast Bancorp', '2022-07-20', 6);

select * from project;

Producción :

 id |            project            |  created   | interval
----+-------------------------------+------------+----------
  1 | Heron Therapeutics, Inc.      | 2021-10-23 |        9
  2 | CryoPort, Inc.                | 2022-05-07 |        5
  4 | Turtle Beach Corporation      | 2022-07-27 |       10
  5 | Banco Santander Chile         | 2022-02-08 |        6
  6 | BLACKROCK INTERNATIONAL, LTD. | 2022-07-28 |       10
  7 | Sohu.com Inc.                 | 2021-10-14 |       12
  8 | Northeast Bancorp             | 2022-07-20 |        6
(7 rows)

Añadir Días Con la fecha

Podemos usar el método intervalo dentro de nuestra consulta para obtener la fecha del reclamo. Entonces, agregaremos el intervalo con la columna creado y lo imprimiremos. La consulta será como la siguiente:

select id,
       project,
       created,
       interval,
       date(created + interval '1 day' * interval) as deadline
from project;

Aquí está la salida:

 id |            project            |  created   | interval |  deadline
----+-------------------------------+------------+----------+------------
  1 | Heron Therapeutics, Inc.      | 2021-10-23 |        9 | 2021-11-01
  2 | CryoPort, Inc.                | 2022-05-07 |        5 | 2022-05-12
  4 | Turtle Beach Corporation      | 2022-07-27 |       10 | 2022-08-06
  5 | Banco Santander Chile         | 2022-02-08 |        6 | 2022-02-14
  6 | BLACKROCK INTERNATIONAL, LTD. | 2022-07-28 |       10 | 2022-08-07
  7 | Sohu.com Inc.                 | 2021-10-14 |       12 | 2021-10-26
  8 | Northeast Bancorp             | 2022-07-20 |        6 | 2022-07-26

También funcionará sin el método intervalo. También podemos escribir la consulta como:

select id,
       project,
       created,
       interval,
       date(created + interval) as deadline
from project;

Producción :

 id |            project            |  created   | interval |  deadline
----+-------------------------------+------------+----------+------------
  1 | Heron Therapeutics, Inc.      | 2021-10-23 |        9 | 2021-11-01
  2 | CryoPort, Inc.                | 2022-05-07 |        5 | 2022-05-12
  4 | Turtle Beach Corporation      | 2022-07-27 |       10 | 2022-08-06
  5 | Banco Santander Chile         | 2022-02-08 |        6 | 2022-02-14
  6 | BLACKROCK INTERNATIONAL, LTD. | 2022-07-28 |       10 | 2022-08-07
  7 | Sohu.com Inc.                 | 2021-10-14 |       12 | 2021-10-26
  8 | Northeast Bancorp             | 2022-07-20 |        6 | 2022-07-26

Aquí, podemos ver que la columna fecha límite agrega la cantidad de intervalo de los días con la columna creado. Para saber más sobre la fecha y la hora en Postgres, visite la siguiente documentación oficial.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

Artículo relacionado - PostgreSQL Date