Função de Banco de Dados Mvsql - DateDiff()¶
Resumo¶
Calcula a diferença entre duas expressões date ou datetime com base em uma parte de data fornecida.
Sintaxe¶
DATEDIFF(<datepart>, <startdate>, <enddate>)
Parâmetros¶
Dataparte¶
Parte da data | Aliases | Suporte ao fornecedor |
---|---|---|
year | yy , yyyy | Todos os fornecedores de RDBMS. |
quarter | qq , q | SQL Server e SQLite |
month | mm , m | Todos os fornecedores de RDBMS. |
dayofyear | dy , y | SQL Server e SQLite |
day | dd , d | Todos os fornecedores de RDBMS. |
week | wk , ww | SQL Server e SQLite |
hour | hh | Todos os fornecedores de RDBMS. |
minute | mi , n | Todos os fornecedores de RDBMS. |
second | ss , s | Todos os fornecedores de RDBMS. |
A parte da data não deve ser citada.
A parte da data não diferencia maiúsculas de minúsculas.
Data de Início¶
Coluna ou expressão do tipo datetime ou date. Algumas partes de data esperam um datetime.
Data Final¶
Coluna ou expressão do tipo datetime ou date. Algumas partes de data esperam um datetime.
Devoluções¶
Retorna um int representando a diferença entre a data inicial e a data final na parte da data apropriada.
Observações¶
Cada fornecedor de banco de dados pode lidar com limites de data de forma diferente. Por exemplo, o SQL Server calcula semanas usando domingo como o início da semana. O SQLite, por outro lado, usa segunda-feira.
Exemplos¶
Observe que esses exemplos pressupõem o SQL Server.
Expressão | Retorna |
---|---|
DATEDIFF(year, TIMESTAMP('2005-12-31 23:59:59.9999999'), TIMESTAMP('2006-01-01 00:00:00.0000000')) | 1 |
DATEDIFF(month, TIMESTAMP('2005-12-31 23:59:59.9999999'), TIMESTAMP('2006-01-01 00:00:00.0000000')) | 1 |