Função do DataDD do SQL Server

Função do DataDD do SQL Server

Os dados de data e hora são comuns no SQL Server e existem tipos de dados internos para data e hora. O SQL Server também fornece várias funções para trabalhar com tipos de data.

Este guia curto, mas detalhado, ensinará como usar a função DATADD nas funções, consultas e procedimentos do SQL Server.

O básico

A função SQL Server DataEdd permite adicionar ou subtrair uma unidade de data específica à data especificada e retornar a data resultante.

Podemos expressar a sintaxe da função DATADD como:

DataAdd ([unit_of_time] [value] [Target_date]);

Como mostrado na sintaxe acima, a função aceita três argumentos principais:

  1. Unit_of_time-O primeiro argumento representa a unidade de tempo para adicionar à data especificada.
  2. Valor-O argumento do valor representa o número adicionado ou subtraído à data alvo. Este é um valor do tipo inteiro; Portanto, a função truncará se o valor fornecido for um tipo decimal ou de flutuação.
  3. Target_date-Este argumento representa a data para adicionar ou subtrair o valor especificado. Este pode ser um valor de data literal ou uma expressão das funções de data do servidor SQL.

A função aceita um valor específico para a unidade do parâmetro de tempo. Os valores aceitos são os mostrados na tabela abaixo:

Abreviação da unidade
-------------------------------------------------- ------------
nanossegundos ns
Microssegundos MCs
milissegundo ms
Segundo S, SS
Minuto mi, n
Hora hh
Semana WK, WW
Dia dd, D
Dia do ano, Dy, Y
Mês mm, m
Quarter QQ, q
Ano sim, AAA
(12 linhas afetadas)

A função adicionará um valor de data após adicionar ou subtrair o valor unitário específico da data alvo.

SQL Server DATADD Exemplo de uso

Vamos agora usar vários exemplos para entender como usar a função DATADD no SQL Server.

Exemplo 1

A consulta abaixo adiciona um segundo à data especificada.

Selecione DATADD (segundo, 1, '2021-12-24 23:59:59');

O valor resultante é como mostrado:

2021-12-25 00:00:00.000

Exemplo 2

Vamos adicionar um ano a partir da data de hoje. Podemos executar uma consulta como mostrado abaixo:

Selecione DATADD (ano, 1, current_timestamp);

A consulta acima adicionará um ano ao registro de data e hora atual. Um exemplo de resultado do resultado é como:

2022-12-19 15:14:13.883

Exemplo 3

Também podemos subtrair uma unidade específica de tempo a partir da data alvo. Considere a consulta de exemplo como mostrado:

Selecione DATADD (ano, -5, current_timestamp);

O exemplo acima subtrai 5 anos do registro de data e hora.

O valor resultante é como:

2016-12-19 15:16:07.970

Exemplo 4

O que acontece se você adicionar um mês e a data resultante não existe. Nesse caso, a função DATADD retornará no último dia do mês.

Um exemplo de consulta como:

Selecione DATADD (mês, 4, '2022-05-31 00: 00: 00: 000');

Como não há 31 de setembro, a consulta retorna no dia 30 de setembro como:

2022-09-30 00:00:00.000

Exemplo 5

Adicione uma hora a uma data alvo e obtenha o resultado.

Selecione DATADD (hora, 1, '2022-06-30 00: 00: 00: 000');

O valor resultante é como:

2022-06-30 01:00:00.000

Exemplo 6

Você também pode usar a função DATADD para encontrar a diferença entre duas datas e valor de tempo. Por exemplo:

Selecione DATADD (minuto, datefiff (minuto, '2016-12-31 05: 39: 39: 100', '2022-06-27 01: 35: 33: 333'), 0);

O valor resultante é como:

1905-06-27 19:56:00.000

Pensamentos finais

Neste guia, você entende como usar a função SQL Server DataEdd usando vários exemplos. A função DATADD é muito útil ao manipular dados de data e hora no SQL Server.

Fique atento para mais conteúdo do servidor SQL.