SQLShack (Español)

Este artículo explora la función DATEADD SQL y su uso escenarios con varios ejemplos.

Por lo general, trabajamos con el tipo de datos de fecha en SQL Server. También necesitamos manipular las fechas. En mi artículo anterior DATEPART SQL FUNCTION, exploramos para recuperar una parte específica de la fecha, como día, año, mes, trimestre, día del año.

Podemos usar la función SQL SERVER DATEADD para sumar o restar un período específico de una fecha.

Sintaxis

DATEADD (datepart, number, date)

  • Datepart: Especifica la parte de la fecha en la que queremos sumar o restar intervalo de tiempo específico. Puede tener valores como año, mes, día y semana. Exploraremos más en esto en la sección de ejemplo
  • Número: Es el número por el cual queremos aumentar o disminuir la fecha. Debe ser un número entero
  • Fecha: Podemos especificar la fecha aquí. En esta fecha, queremos agregar un número específico en datepart

Supongamos que queremos agregar diez días a la fecha actual. En este ejemplo, las variables serían

  • Valor de la parte de fecha: Día
  • Número: 5
  • Fecha: Getdate () – Fecha actual

Explore la función SQL SERVER DATEADD con ejemplos

Tipos de datos en la función SQL SERVER DATEADD

Podemos usar el siguiente tipo de datos en la expresión de fecha.

  • fecha
  • DateTime
  • datetimeoffset
  • datetime2
  • pequeñafechahora
  • time

En la siguiente consulta, declaramos una variable @date que tiene un tipo de datos datetime2. Podemos usar la función DATEADD SQL según la siguiente consulta.

Usando la función SQL SERVER DATEADD para obtener registros de un tabla en el rango de fechas especificado

Podemos usar la función DATEADD SQL para recuperar registros de una tabla por un período. En la siguiente consulta, especificamos una fecha con el parámetro @Startdate. Queremos recuperar registros de la tabla Pedidos. Necesitamos obtener registros entre @StartDate y @Enddate (agregue 1 hora en la fecha de inicio).

Obtenemos el siguiente resultado.

Usando la función SQL SERVER DATEADD para obtener la fecha o la diferencia horaria

Podemos usar la función DATEADD SQL para obtener la diferencia horaria entre la fecha de inicio y la fecha de finalización. Muchas veces, queremos usar la función SQL SERVER DATEADD para obtener la diferencia de fecha. Por ejemplo, queremos saber cuánto tiempo tardó en completar un pedido o cuánto tiempo tardó en llegar de casa a la oficina.

Ejecute la siguiente consulta para obtener la diferencia entre la hora de inicio y la hora de finalización. Usamos la función DATEADD SQL junto con la función DATEDIFF SQL.

Da el tiempo transcurrido en minutos. Especificamos el valor 0 en la función DateADD SQL. Toma el valor de fecha 1900-01-01 00: 00: 00.000

Podemos usar el formato de fecha SQL Convert para representar esto en formato HH: MM: SS.

Da la diferencia horaria en formato HH: MM: SS como se muestra en la siguiente imagen.

Especifique el resultado de la función SQL SERVER DATEADD como una nueva columna

Podemos usar la función SQL SERVER DATEADD para obtener una nueva columna después de agregar el valor de fecha requerido. En la siguiente consulta, queremos agregar dos días en la fecha de inicio y representar esto como una nueva columna.

Escalar subconsultas y funciones escalares en la función DATEADD SQL

Podemos usar la función SQL SERVER DATEADD con subconsultas escalares y funciones escalares también. En la siguiente consulta, queremos agregar el número de días en el valor de fecha máxima de LastEditedWhen en la tabla Sales.orders.

La primera subconsulta da el número 16496 y la segunda subconsulta proporciona una fecha. Usamos la función SQL SERVER DATEADD para agregar el número de días y obtenemos el siguiente resultado.

Expresiones numéricas en el Función SQL SERVER DATEADD

También podemos usar expresiones numéricas en la función SQL SERVER DATEADD. En la siguiente consulta, usamos una expresión numérica para calcular el número y darnos una salida.

1
2
3

SELECCIONAR GETDATE () AS CurrentDate,
DATEADD (mes, – (12/6), GETDATE ()) AS ModifiedDate;

Usando DATEADD con la función Rank

También podemos usar la función DATEADD SQL en una función de rango. Podemos usarlo para el argumento numérico. En la siguiente consulta, puede ver la función Row_Number () para usar el parámetro numérico y los valores como parámetro de fecha.

Conclusión

En este artículo, exploramos varios usos y ejemplos de la función DATEADD SQL. Nos permite sumar o restar valores de parte de fecha de la fecha especificada. Espero que les guste este articulo. No dude en enviarnos sus comentarios en los comentarios a continuación.

  • Autor
  • Publicaciones recientes
Como entrenador certificado por MCSA y certificado por Microsoft en Gurgaon, India, con 13 años de experiencia, Rajendra trabaja para una variedad de grandes empresas que se enfocan en la optimización del rendimiento, monitoreo, alta disponibilidad y estrategias e implementación de recuperación de desastres. Es autor de cientos de artículos autorizados sobre SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS / Amazon RDS, Git y tecnologías relacionadas que han sido vistos por más de 10 millones de lectores hasta la fecha.
Es el creador de una de las mayores colecciones gratuitas de artículos en línea sobre un solo tema, con su serie de 50 partes sobre los grupos de disponibilidad AlwaysOn de SQL Server. Basado en su contribución a la comunidad de SQL Server, ha sido reconocido con varios premios, incluido el prestigioso «Mejor autor del año» de forma continua en 2020 y 2021 en SQLShack.
Raj siempre está interesado en nuevos desafíos, así que si necesita consultoría ayuda sobre cualquier tema tratado en sus escritos, puede ser contactado en [email protected]
Ver todas las publicaciones de Rajendra Gupta

Últimas publicaciones de Rajendra Gupta (ver todas)
  • Realización de actualizaciones de versiones menores y mayores para AWS RDS SQL Server: 29 de enero de 2021
  • Implementación de instancias de AWS RDS PostgreSQL: 27 de enero de 2021
  • Migración de sus bases de datos SQL locales a AWS RDS SQL Server mediante AWS DMS: 25 de enero , 2021

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *