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 |