Database
 sql >> Base de Dados >  >> RDS >> Database

Como adicionar dias a uma data em T-SQL

Problema:


Você gostaria de adicionar um determinado número de dias a uma data em T-SQL.

Exemplo:


Nosso banco de dados tem uma tabela chamada Flight com dados nas colunas Code e DepartureDate .
Código Data de partida
LT2030 20-02-2019
GH1100 2019-03-01
SR5467 2019-12-30

Vamos alterar a data de partida para todos os voos, adicionando dois dias à data de partida atual.

Solução:


Usaremos a função DATEADD() para especificar a unidade de tempo a ser adicionada, definir quanto adicionar e selecionar a data a ser alterada. Dê uma olhada na consulta:
	SELECT Code,
		  DATEADD(day, 2, DepartureDate)
		    AS ChangedDepartureDate 
      FROM Flight;

Aqui está o resultado:
Código ChangedDepartureDate
LT2030 22-02-2019
GH1100 2019-03-03
SR5467 2020-01-01

Discussão:


Para alterar uma data e/ou hora adicionando um número específico de uma unidade de tempo escolhida, use a função DATEADD() do SQL Server. Esta função funciona em tipos de dados de data, hora ou data e hora. São necessários três argumentos:
  1. A unidade de data/hora desejada para adicionar. Em nosso exemplo, é dia; queremos adicionar dias à data.
  2. Quantas unidades adicionar. Em nosso exemplo, isso é 2; queremos adicionar 2 dias à data existente.
  3. Uma coluna contendo a data/hora/datahora que queremos alterar. (Em nosso exemplo, usamos a coluna DepartureDate.) Esse argumento também pode ser uma expressão que retorna uma data/hora/datahora.

A função DATEADD() retorna uma nova data. Em nosso exemplo, a nova data é retornada como ChangedDepartureDate coluna. Para o código de voo 'LT2030', a data '2019-02-20' agora é '2019-02-22'.

A função DATEADD() pode usar unidades de data e hora como year , quarter , month , dayofyear , day , week , weekday , hour , minute , second , etc. Você pode aprender mais na documentação do SQL Server.

No