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_DIFFoferece 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".DAYWEEK: esta parte da data começa no domingo.ISOWEEK: usa limites de semana ISO 8601. As semanas ISO começam na segunda-feira.MONTHQUARTERYEARISOYEAR: 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.