Funciones ADDDATE y SUBDATE en SQL

| Última modificación: 15 de noviembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Si quieres aprender en qué consisten las funciones ADDDATE y SUBDATE en SQL, sigue leyendo este artículo, donde te lo contaremos todo sobre estas prácticas.

Funciones ADDDATE y SUBDATE en SQL

Cuando trabajamos con fechas dentro de intervalos en nuestras bases de datos relacionales, es usual que tengamos la necesidad de realizar modificaciones dentro de los valores de la fecha, pues se necesita añadir meses, días, cambiar la hora o los segundos. A su vez, en ocasiones se necesita substraer los mismos valores.

Es por eso que SQL ha determinado unas variables que te permitirán realizar este trabajo. Estas son: las funciones ADDDATE y SUBDATE en SQL.

Cómo funciona la sentencia ADDDATE

En primer lugar, encontramos la sentencia ADDATE, la cual se encarga de añadir valores para el intervalo de una fecha y, después, devolverá el resultado añadido. La sintaxis general de esta sentencia se ve así: ADDDATE (fecha, INTERVAL valor para añadir).

Para que te quede claro cómo funciona esta sentencia, te presentamos un lista de ejemplos que reflejan cómo se vería el uso de ADDDATE si necesitas añadir un intervalo de los distintos elementos de una fecha y del tiempo: microsegundos, segundos, minutos, horas, semanas, meses, años y días.

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, ADDDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 MICROSECOND) FECHA 2;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, ADDDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 SECOND) FECHA 3;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, ADDDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 MINUTE) FECHA 4;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, ADDDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 HOUR) FECHA 5;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, ADDDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 WEEK) FECHA 6;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, ADDDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 MONTH) FECHA 7;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, ADDDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 YEAR) FECHA 8;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, ADDDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 DAY) FECHA 9;

Después de haber ejecutado las sentencias, podrás ver una tabla con todos los resultados que devolverá la función. Esta tabla luce como la siguiente:

#FECHAFECHA
22022 – 11 – 22 22:30:15.0000012022 – 11 – 22 22:30:15.000005
32022 – 11 – 22 22:30:15.0000012022 – 11 – 22 20:30:19.000001
42022 – 11 – 22 22:30:15.0000012022 – 11 – 22 22:34:15.000001
52022 – 11 – 22 22:30:15.0000012022 – 11 – 22 02:30:15.000001
62022 – 11 – 22 22:30:15.0000012022 – 03 – 22 20:30:15.000001
72022 – 11 – 22 22:30:15.0000012022 – 03 – 22 20:30:15.000001
82022 – 11 – 22 22:30:15.0000012026 – 11 – 22 20:30:15.000001
92022 – 11 – 22 22:30:15.0000012022 – 11 – 26 20:30:15.000001

Cómo funciona la sentencia SUBDATE

En contraste, la sentencia SUBDATE se encarga de restar los mismos valores que se pueden operar con la sentencia anterior, solo que esta vez se realizará hacia el otro lado, es decir, se estará substrayendo el valor. La sintaxis general de SUBDATE aparece de la siguiente manera:

SUBDATE (fecha, INTERVAL valor unitario).

Para dejarlo más claro, a continuación te presentamos una serie de ejemplos en los que utilizamos esta sentencia. En cada uno se operará un valor o elemento diferente de la fecha:

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, SUBDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 MICROSECOND) FECHA 2;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, SUBDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 SECOND) FECHA 3;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, SUBDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 MINUTE) FECHA 4;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, SUBDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 HOUR) FECHA 5;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, SUBDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 WEEK) FECHA 6;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, SUBDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 MONTH) FECHA 7;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, SUBDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 YEAR) FECHA 8;

SELECT ‘2022 – 11 – 22 22:30:15.000001’, FECHA, SUBDATE (‘2022 – 11 – 22 22:30:15.000001’, INTERVAL 4 DAY) FECHA 9;

Una vez hayas ejecutado cada una de las instrucciones, podrás ver una tabla con todos los resultados que devolverá la función. Esta tabla se verá de forma muy similar a la que te presentaremos a continuación:

#FECHAFECHA
22022 – 11 – 22 22:30:15.0000012022 – 11 – 22 22:30:15.999997
32022 – 11 – 22 22:30:15.0000012022 – 11 – 22 20:30:11.000001
42022 – 11 – 22 22:30:15.0000012022 – 11 – 22 22:26:15.000001
52022 – 11 – 22 22:30:15.0000012022 – 11 – 22 02:30:15.000001
62022 – 11 – 22 22:30:15.0000012022 – 07 – 22 20:30:15.000001
72022 – 11 – 22 22:30:15.0000012022 – 07 – 22 20:30:15.000001
82022 – 11 – 22 22:30:15.0000012018 – 11 – 22 20:30:15.000001
92022 – 11 – 22 22:30:15.0000012022 – 07 – 26 20:30:15.000001

De esta manera, has aprendido cómo utilizar las funciones ADDDATE y SUBDATE en SQL con tus listas de fechas.

Si has llegado hasta aquí, has cumplido con el objetivo de conocer cómo puedes utilizar las funciones ADDDATE y SUBDATE en SQL, por lo que ahora puedes ir operando tus elementos cada vez que lo requieras. Para que sigas aprendiendo este tipo de conceptos, te invitamos a inscribirte en nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, la formación que te permitirá convertirte en un experto en menos de un año. ¡Anímate a pedir información y sigue aprendiendo!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado