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_DIFFsuporta 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.DAYWEEK: esta parte da data começa ao domingo.ISOWEEK: usa os limites da semana ISO 8601. As semanas ISO começam à segunda-feira.MONTHQUARTERYEARISOYEAR: 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 do calendário gregoriano correspondente.
Tipo de dados devolvidos
Número (inteiro)
Exemplos
O segundo e o terceiro exemplos na tabela seguinte 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 2015-01-01, pelo que o ano ISO de 2015 começa na segunda-feira anterior, 2014-12-29.
| 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.