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