Funciones ADDDATE y SUBDATE en SQL

Autor: | Última modificación: 24 de noviembre de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

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.

¿Qué puedes hacer ahora?

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!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.