SQLShack (Português)

Este artigo explora a função SQL DATEADD e seu uso cenários com vários exemplos.

Normalmente, trabalhamos com tipo de dados de data no SQL Server. Precisamos fazer manipulações com datas também. Em meu artigo anterior DATEPART SQL FUNCTION, exploramos como recuperar parte específica da data, como dia, ano, mês, trimestre, dia do ano.

Podemos usar a função SQL SERVER DATEADD para adicionar ou subtrair um período específico de uma data.

Sintaxe

DATEADD (datepart, number, date)

  • Datepart: especifica a parte da data na qual queremos adicionar ou subtrair intervalo de tempo específico. Ele pode ter valores como ano, mês, dia e semana. Exploraremos mais isso na seção de exemplo
  • Número: é o número pelo qual desejamos aumentar ou diminuir a data. Deve ser um número inteiro
  • Data: podemos especificar a data aqui. Nesta data, queremos adicionar um número especificado na parte da data

Suponha que queremos adicionar dez dias à data atual. Neste exemplo, as variáveis seriam

  • Valor da parte da data: Dia
  • Número: 5
  • Data: Getdate () – Data atual

Explore a função SQL SERVER DATEADD com exemplos

Tipos de dados na função SQL SERVER DATEADD

Podemos usar o seguinte tipo de dados na expressão de data.

  • data
  • DateTime
  • datetimeoffset
  • datetime2
  • smalldatetime
  • hora

Na consulta a seguir, declaramos uma variável @date com um tipo de dados datetime2. Podemos usar a função DATEADD SQL de acordo com a consulta a seguir.

Usando a função SQL SERVER DATEADD para obter registros de um tabela no intervalo de datas especificado

Podemos usar a função SQL DATEADD para recuperar registros de uma tabela por um período. Na consulta a seguir, especificamos uma data com o parâmetro @Startdate. Queremos recuperar os registros da tabela Pedidos. Precisamos obter registros entre @StartDate e @Enddate (adicionar 1 hora na data de início).

Obtemos a seguinte saída.

Usando a função SQL SERVER DATEADD para obter a diferença de data ou hora

Podemos usar a função SQL DATEADD para obter a diferença de tempo entre a data de início e a data de término. Muitas vezes, queremos usar a função SQL SERVER DATEADD para obter a diferença de data. Por exemplo, queremos saber quanto tempo levou para concluir um pedido ou quanto tempo levou para chegar de casa ao escritório.

Execute a consulta a seguir para obter a diferença entre o horário de início e o horário de término. Usamos a função SQL DATEADD juntamente com a função SQL DATEDIFF.

Fornece o tempo decorrido em minutos. Especificamos o valor 0 na função DateADD SQL. Leva o valor de data 1900-01-01 00: 00: 00.000

Podemos usar o formato de data SQL Convert para representar isso no formato HH: MM: SS.

Dá a diferença de tempo no formato HH: MM: SS conforme mostrado na imagem a seguir.

Especifique o resultado da função SQL SERVER DATEADD como uma nova coluna

Podemos usar a função SQL SERVER DATEADD para obter uma nova coluna após adicionar o valor de data necessário. Na consulta a seguir, queremos adicionar dois dias na data de início e representar isso como uma nova coluna.

Escalar subconsultas e funções escalares na função SQL DATEADD

Podemos usar a função SQL SERVER DATEADD com subconsultas escalares e funções escalares também. Na consulta a seguir, queremos adicionar o número de dias no valor de data máxima de LastEditedWhen na tabela Sales.orders.

A primeira subconsulta fornece o número 16496 e a segunda subconsulta fornece uma data. Usamos a função SQL SERVER DATEADD para adicionar o número de dias e obtemos a seguinte saída.

Expressões numéricas no Função SQL SERVER DATEADD

Podemos usar expressões numéricas também na função SQL SERVER DATEADD. Na consulta a seguir, usamos uma expressão numérica para calcular o número e nos dar uma saída.

1
2
3

SELECIONE GETDATE () AS CurrentDate,
DATEADD (mês, – (12/6), GETDATE ()) AS ModifiedDate;

Usando DATEADD com a função de classificação

Podemos usar a função SQL DATEADD em uma função de classificação também. Podemos usá-lo para o argumento de número. Na consulta a seguir, você pode ver a função Row_Number () para usar o parâmetro de número e os valores como parâmetro de data.

Conclusão

Neste artigo, exploramos vários usos e exemplos da função SQL DATEADD. Ele nos permite adicionar ou subtrair valores de parte da data da data especificada. Eu espero que você goste deste artigo. Sinta-se à vontade para fornecer feedback nos comentários abaixo.

  • Autor
  • Postagens recentes
Como um MCSA Certified e Microsoft Certified Trainer em Gurgaon, Índia, com 13 anos de experiência, Rajendra trabalha para uma variedade de grandes empresas com foco em otimização de desempenho, monitoramento, alta disponibilidade e estratégias e implementação de recuperação de desastres. Ele é autor de centenas de artigos oficiais sobre SQL Server, Azure, MySQL, Linux, Power BI, Ajuste de desempenho, AWS / Amazon RDS, Git e tecnologias relacionadas que foram visualizadas por mais de 10 milhões de leitores até o momento.
Ele é o criador de uma das maiores coleções online gratuitas de artigos sobre um único tópico, com sua série de 50 partes sobre grupos de disponibilidade Always On do SQL Server. Com base em sua contribuição para a comunidade do SQL Server, ele foi reconhecido com vários prêmios, incluindo o prestigioso “Melhor autor do ano” continuamente em 2020 e 2021 na SQLShack.
Raj está sempre interessado em novos desafios, então se você precisar de consultoria ajuda em qualquer assunto abordado em seus escritos, ele pode ser contatado em [email protected]
Veja todas as postagens de Rajendra Gupta

Postagens mais recentes de Rajendra Gupta (ver todos)
  • Executando atualizações de versões principais e secundárias para AWS RDS SQL Server – 29 de janeiro de 2021
  • Implantando instâncias AWS RDS PostgreSQL – 27 de janeiro de 2021
  • Migração de bancos de dados SQL locais para AWS RDS SQL Server usando AWS DMS – 25 de janeiro , 2021

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *