SQL >> Base de Datos >  >> RDS >> Database

Cómo agregar días a una fecha en T-SQL

Problema:

Le gustaría agregar un número determinado de días a una fecha en T-SQL.

Ejemplo:

Nuestra base de datos tiene una tabla llamada Flight con datos en las columnas Code y DepartureDate .

Código Fecha de salida
LT2030 2019-02-20
GH1100 2019-03-01
SR5467 2019-12-30

Cambiemos la fecha de salida de todos los vuelos, agregando dos días a la fecha de salida actual.

Solución:

Usaremos la función DATEADD() para especificar la unidad de tiempo para agregar, definir cuánto agregar y seleccionar la fecha para cambiar. Echa un vistazo a la consulta:

	SELECT Code,
		  DATEADD(day, 2, DepartureDate)
		    AS ChangedDepartureDate 
      FROM Flight;

Aquí está el resultado:

Código Fecha de salida modificada
LT2030 2019-02-22
GH1100 2019-03-03
SR5467 2020-01-01

Discusión:

Para cambiar una fecha y/u hora agregando un número específico de una unidad de tiempo elegida, use la función DATEADD() de SQL Server. Esta función funciona en tipos de datos de fecha, hora o fecha y hora. Se necesitan tres argumentos:

  1. La unidad de fecha/hora deseada para agregar. En nuestro ejemplo, es de día; queremos agregar días a la fecha.
  2. Cuántas unidades agregar. En nuestro ejemplo, esto es 2; queremos agregar 2 días a la fecha existente.
  3. Una columna que contiene la fecha/hora/fechahora que queremos cambiar. (En nuestro ejemplo, usamos la columna Fecha de salida). Este argumento también puede ser una expresión que devuelve una fecha/hora/fechahora.

La función DATEADD() devuelve una nueva fecha. En nuestro ejemplo, la nueva fecha se devuelve como ChangedDepartureDate columna. Para el código de vuelo 'LT2030', la fecha '2019-02-20' ahora es '2019-02-22'.

La función DATEADD() puede usar unidades de fecha y hora como year , quarter , month , dayofyear , day , week , weekday , hour , minute , second , etc. Puede obtener más información en la documentación de SQL Server.


No