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
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
- 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