Ir para o conteúdo

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