DATETIME_DIFF

Retorna o número de intervalos entre duas datas.

Exemplo de uso

DATETIME_DIFF(Order Date, Ship Date, DAY)

Sintaxe

DATETIME_DIFF(date_expression, date_expression, part)

Parâmetros

date_expression: campo ou expressão de "Data" ou "Data e hora". Se a primeira expressão de data ocorrer antes da segunda, o resultado será zero ou negativo. DATETIME_DIFF lança um erro se o cálculo estourar o tipo de resultado, como se a diferença em microssegundos entre os dois valores de data estourasse um valor inteiro.

part: período de retorno. DATETIME_DIFF é compatível com as seguintes partes:

  • MICROSECOND: disponível para campos ou expressões de "Data e hora".
  • MILLISECOND: disponível para campos ou expressões de "Data e hora".
  • SECOND: disponível para campos ou expressões de "Data e hora".
  • MINUTE: disponível para campos ou expressões de "Data e hora".
  • HOUR: disponível para campos ou expressões de "Data e hora".
  • DAY
  • WEEK: esta parte da data começa no domingo.
  • ISOWEEK: usa limites da semana ISO 8601. As semanas ISO começam na segunda-feira.
  • MONTH
  • QUARTER
  • YEAR
  • ISOYEAR: usa o limite de ano de numeração da semana ISO 8601. O limite do ano ISO é a segunda-feira da primeira semana que contém a quinta-feira pertencente ao ano do calendário gregoriano correspondente.

Tipo de dados de retorno

Número (inteiro)

Exemplos

O segundo e o terceiro exemplos abaixo mostram o resultado de DATETIME_DIFF para dois valores de data que estão separados por 24 horas. DATETIME_DIFF com a parte WEEK retorna 1 porque DATETIME_DIFF conta o número de limites das partes nesse intervalo de valores de data. Cada WEEK começa no domingo, então há um limite de parte entre sábado, 2017-10-14 00:00:00 e domingo, 2017-10-15 00:00:00.

Fórmula Resultado
DATETIME_DIFF(
   DATETIME "2010-07-07 10:20:00", DATETIME "2008-12-25 15:30:00", DAY
)
559
DATETIME_DIFF(
    DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", DAY
)  

1

DATETIME_DIFF(
    DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", WEEK
)
1

 

No exemplo a seguir, mostraremos o resultado de DATETIME_DIFF para duas datas em anos diferentes. DATETIME_DIFF com a parte da data YEAR retorna 3 porque conta o número de limites do ano do calendário gregoriano entre os dois valores de data. DATETIME_DIFF com a parte da data ISOYEAR retorna 2 porque o segundo valor de data pertence ao ano ISO 2015. A primeira quinta-feira do ano calendário de 2015 foi 2015-01-01, então o ano ISO 2015 começa na segunda-feira anterior, 2014-12-29.

Fórmula Resultado
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', YEAR)
3
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', ISOYEAR)

2

 

O exemplo a seguir mostra o resultado de DATETIME_DIFF de dois dias consecutivos. A primeira data cai em uma segunda-feira e a segunda data cai em um domingo. DATETIME_DIFF com a parte da data ISOWEEK também retorna 1 porque as semanas ISO começam na segunda-feira.

Fórmula Resultado
DATETIME_DIFF(DATE '2017-12-18', DATE '2017-12-17', WEEK)
0
DATETIME_DIFF(DATE '2017-12-18', DATE'2017-12-17', ISOWEEK)
1

Observações

Esta função não está disponível para os tipos de data do modo de compatibilidade.

Recursos relacionados

Isso foi útil?
Como podemos melhorá-lo?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Google Apps
Menu principal
Pesquisar na Central de Ajuda
true
102097
false