DATETIME_DIFF

Devolve o número de limites entre duas datas.

Exemplos de utilização

DATETIME_DIFF(Order Date, Ship Date, DAY)

Sintaxe

DATETIME_DIFF( date_expression, date_expression, part )

Parâmetros

  • date_expression: um campo ou uma expressão de data ou de data e hora. Se a primeira expressão de data ocorrer antes da segunda expressão de data, o resultado é zero ou negativo.
  • part: a parte de tempo a devolver. O DATETIME_DIFF suporta as seguintes peças:
    • 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 ao domingo.
    • ISOWEEK: usa os limites da semana ISO 8601. As semanas ISO começam à segunda-feira.
    • MONTH
    • QUARTER
    • YEAR
    • ISOYEAR: usa o limite do ano de numeração de semanas da norma ISO 8601. O limite do ano ISO é a segunda-feira da primeira semana cuja quinta-feira pertence ao ano civil gregoriano correspondente.

Tipo de dados devolvidos

Número (inteiro)

Exemplos

O segundo e o terceiro exemplos abaixo mostram o resultado de DATETIME_DIFF para dois valores de data com uma diferença de 24 horas. DATETIME_DIFF com a parte WEEK devolve 1 porque DATETIME_DIFF conta o número de limites de partes neste intervalo de valores de data. Cada WEEK começa ao domingo, pelo que existe um limite de partição entre sábado, 14/10/2017 às 00:00:00, e domingo, 15/10/2017 às 00:00:00.

Fórmula de exemplo 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

O exemplo seguinte mostra o resultado de DATETIME_DIFF para duas datas em anos diferentes. DATETIME_DIFF com a parte da data YEAR devolve 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 devolve 2 porque o segundo valor de data pertence ao ano ISO 2015. A primeira quinta-feira do ano civil de 2015 foi a 01-01-2015, pelo que o ano ISO de 2015 começa na segunda-feira anterior, a 29-12-2014.

Fórmula de exemplo 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 seguinte mostra o resultado de DATETIME_DIFF durante dois dias consecutivos. A primeira data é uma segunda-feira e a segunda data é um domingo. DATETIME_DIFF com a parte da data ISOWEEK também devolve 1 porque as semanas ISO começam à segunda-feira.

Fórmula de exemplo 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

Notas

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