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 - uma expressão ou um campo "Data" ou "Data e hora". Se a primeira expressão de data ocorrer antes da segunda, o resultado será zero ou negativo.
  • part - a parte do tempo a ser retornada. DATETIME_DIFF oferece suporte às 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 de semana ISO 8601. As semanas ISO começam na segunda-feira.
    • MONTH
    • QUARTER
    • YEAR
    • ISOYEAR: usa o limite do ano de numeração de semanas ISO 8601. O limite do ano ISO é a segunda-feira da primeira semana em que a quinta-feira pertence ao ano civil gregoriano correspondente.

Tipo de dados de retorno

Número (inteiro)

Exemplos

O segundo e o terceiro exemplos na tabela a seguir 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. Portanto, há um limite de parte entre sábado, 14/10/2017 00:00:00 e domingo, 15/10/2017 00:00:00.

Fórmula de exemplo Saída
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 civil 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 civil de 2015 foi 01/01/2015. Portanto, o ano ISO 2015 começa na segunda-feira anterior, 29/12/2014.

Fórmula de exemplo Saída
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 para 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 de exemplo Saída
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.