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