Postgres Agregar días hasta la fecha

Postgres Agregar días hasta la fecha
PostgreSQL utiliza un tipo de datos de fecha para almacenar valores en forma de fechas. Este artículo arrojará luz sobre la adición de días a las fechas a través de diferentes comandos en PostgreSQL.

Simplemente usamos el comando Seleccionar con esta palabra clave para mostrar la fecha actual. El date cotent_date se obtiene del sistema donde se configura la base de datos PostgreSQL. Entonces, usaremos este comando para ver la fecha por ahora. PostgreSQL sigue un formato estándar de la fecha. Eso es 'aaa-mm-dd'.

>> seleccione Current_Date;

Ahora agregaremos un solo día a la fecha actual. El intervalo es un tipo de datos que manipula los datos en forma de días, meses, semanas. etc. Al hacer esto, la marca de tiempo mostrará la fecha sin la zona horaria. Solo se muestra el formato para el tiempo junto con la fecha actual.

>> seleccione Current_Date + Interval '1 día';

Como hemos mencionado anteriormente, la fecha actual es el 19 de febrero, por lo que además de un día en el día actual, se convertirá en 20-02-2022.

Del mismo modo, si simplemente agregamos días en la fecha actual sin usar la palabra 'intervalo', solo mostrará la fecha.

>> seleccione Current_Date + 4;

Entonces, desde el valor resultante, puede ver que solo se muestra la fecha después de 4 días. Ahora, si agregamos el intervalo de palabras clave en el mismo comando anterior, el valor resultante se mostrará nuevamente junto con la zona horaria.

En lugar de usar la palabra clave 'current_date', usaremos directamente la fecha en la que queremos agregar días. Con el intervalo de palabras clave, se agregarán 7 días.

>> seleccione '2002-06-27' :: fecha + intervalo '7 días';

Esto agregará 7 días al 27 de junio. Al hacer esto, el mes se cambiará y cambiará a julio.

Hasta ahora, hemos visto formato de fechas simples y la adición de días en la fecha. Pero ahora, veremos la adición de días en las fechas presentes en la tabla. Se crea una tabla llamada 'date_days' con las columnas que tienen ID de elementos y las fechas de vencimiento del producto. La fecha es una característica incorporada de PostgreSQL, por lo que seguiremos el formato de fecha al ingresar datos.

>> Crear tabla date_days (item_id serial, expiry_date fecha);

Después de crear la tabla, ahora agregaremos algunos datos insertando filas en la tabla.

>> Insertar en valores date_days (expiry_date) ('2020-04-01'), ('2020-04-04'), ('2020-04-05'), ('2020-04-07'), (( '2020-04-08'), ('20202-04-10'), ('2020-04-11'), ('20202-04-12');

Después de insertar datos, puede ver que se muestra un mensaje que se insertan 8 filas en la tabla. No hemos ingresado ID en la columna de item_id, porque los valores numéricos son generados automáticamente por PostgreSQL.

Ahora veremos el registro de la declaración seleccionar.

>> seleccionar * de date_days;

La columna expiry_date se modificará agregando días a las fechas en cada fila. Hemos aplicado una condición aquí en la que se agregarán 10 días a las fechas de vencimiento de los productos que se encuentran en un rango específico que hemos utilizado en el comando. Para la modificación, hemos utilizado un comando de actualización; El nombre de la columna que se verá afectado se menciona después de la palabra clave 'establecer' en el comando de actualización. Además, se utiliza una instrucción selecta para mostrar todos los registros de la tabla para ver la alteración que hemos aplicado.

>> actualizar date_days set expiry_date = expiry_date + interval '10 días 'donde expirt_date entre' 2020-04-01 'y' 2020-04-07 ';
>> seleccionar * de date_days;

Desde el valor resultante, puede observar que, en la ejecución, las fechas entre el primero de abril de 2020 y el 7 de abril de 2020 se verán afectados, y se agregarán 10 días a sus fechas actuales en cada fila. Mientras que otros datos que tienen el expiración de los días el 1 de abril y el 7 de abril, no habrán sido afectados. Los ID de 5 a 8 se mostrarán como está. Mientras que la identificación del 1 al 4 se mostrará con la adición de 10 días. Todas esas filas afectadas por el comando se mostrarán colectivamente al final de la relación.

Agregue los días hábiles a la fecha

Agregaremos los días hábiles a la fecha mencionada en el comando. PostgreSQL, proporcione esta instalación para agregar filas especificadas directamente. Los días hábiles son los días hábiles de la semana que comienzan de lunes a viernes. Estos son 5 días a la semana.

Hemos visto la adición de días utilizando el número de días en el comando, pero ahora agregaremos días en la fecha utilizando días hábiles.

con negocios_days como
(Seleccione Date_D, Extract (Dow de date_d) day_of_week
De Generate_Series ('2022-02-10' :: fecha, '2022-02-27' :: fecha, '4 días' :: intervalo) date_d)
Seleccione Date_D + Intervalo '2 Day', Day_of_week
De negocios_days
Donde day_of_week no en (6,0);

Se crea una tabla temporal a partir del código anterior que tiene dos columnas date_d y day_of_week. Al usar una función incorporada de Postgres, generar_series (), generaremos fechas entre un rango de dos fechas. Y estas fechas se almacenarán en columna date_d.

Dentro de la declaración selecta de con cláusula, el día de una semana se extrae utilizando una función de función de extracto (Dow desde date_d) de la columna date_d, y luego estas fechas extraídas se almacenarán en la otra columna.

La segunda declaración de selección contiene la adición con el intervalo de 2 días, día de la semana de Business_Days. Hemos aplicado un filtro aquí para obtener la fecha de la columna de fecha agregando 2 en cada fecha que es un día hábil. Y mediante el uso de una cláusula Where, eso mostrará todos los días excepto los que tienen 6 o 0.

Ahora veremos que la primera columna tiene fechas con la adición de dos en cada fecha. Como hemos comenzado del 10-02-2022, así que agregue 2 en él, se convertirá en 12; Esto es lo que contiene la primera fila esa fecha. Por otra parte, se aplica un intervalo de 4 fechas, por lo que se ha convertido en 16 hasta que se alcanza la fecha 27. Ahora hablando de la segunda columna que es Day_of_Week que mostrará el número de día de 1 a 5 para mostrar solo los días hábiles. Como la fecha original es 10, por lo que el 10 de febrero de 2020, es el jueves, y según la numeración, es el cuarto día de la semana. Se aplica una lógica similar a las filas restantes.

Agregar día usando una función

Se crea una función para agregar días a la fecha. Esta función tomará parámetros del intervalo de días, new_date. Y devuelve la fecha de llamar a la función. La lógica contiene la instrucción SELECT que muestra el New_Date y los días que se deben agregar.

Ahora llamemos a la función.

>> seleccione * de add_in_days (intervalo '3 días', '2021-07-04' :: fecha);

Esto devolverá la fecha de tener 3 días agregados a la fecha proporcionada.

Conclusión

El artículo contiene la función de fecha, en la que se agregan los días a las fechas especificadas, ya sea las fechas actuales o las escritas por el usuario manualmente. Hemos aplicado comandos simples y también en las tablas. Esta característica de PostgreSQL ayuda al usuario a manipular los datos al alterar las fechas para obtener el registro de una fecha particular.