3 Funções de Data no SQL – Funções Úteis para o Trabalho
Aprenda três funções de data no SQL muito úteis para o trabalho e operações com data!
As três principais funções de data no SQL são datediff, date_add e date_sub. O datediff(data1, data2) retorna a diferença em dias entre duas datas; o date_add(data, INTERVAL valor unidade) soma um intervalo a uma data; e o date_sub(data, INTERVAL valor unidade) subtrai. Elas evitam erros ao calcular datas diretamente.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: As funções de data do MySQL evitam cálculos manuais frágeis. DATEDIFF(data1, data2) devolve a diferença em dias; DATE_ADD(data, INTERVAL valor unidade) acrescenta dias, meses ou anos; e DATE_SUB(data, INTERVAL valor unidade) subtrai. A aula combina DATEDIFF com CURDATE() e FLOOR() em um exemplo simplificado de idade.
Neste vídeo (11 min):
- 1:22 - Visão geral de
DATEDIFF,DATE_ADDeDATE_SUB - 1:36 - Cálculo da diferença em dias entre duas datas
- 2:46 - Uso de
CURDATE()com a data de nascimento - 3:20 - Conversão simplificada da diferença de dias para anos
- 4:40 - Arredondamento da idade para baixo com
FLOOR() - 5:01 - Diferença de finalidade entre
DATE_ADDeDATE_SUB - 5:44 - Adição de dez dias com
DATE_ADDeINTERVAL - 6:59 - Troca da unidade do intervalo para meses ou anos
- 7:57 - Subtração de cinco dias com
DATE_SUB - 9:00 - Por que usar funções próprias ao manipular tipos de data
Trechos do vídeo:
DATEDIFFretorna dias, então qualquer conversão posterior precisa respeitar a precisão desejada.- Com
INTERVAL, a unidade fica explícita e pode ser dia, mês ou ano. - Funções de data lidam melhor com diferenças entre os tipos
DATEeDATETIME.
3 Funções de Data no SQL – Funções Úteis para o Trabalho
Na aula de hoje, eu quero te mostrar três funções de data no SQL muito úteis! Essas funções são importantes porque, ao realizar operações com datas, é recomendado utilizar as funções próprias para essa finalidade.
Dessa forma, você evita alguns erros e até problemas como utilizar diferentes tipos de dados para fazer as operações entre datas.
Por isso, nesta aula, vou te apresentar as funções datediff, date_add e date_sub no SQL, para que você possa fazer seus cálculos com datas de forma correta!
Então, vem comigo que eu vou te mostrar com exemplos cada uma dessas funções.
Funções de Datas no SQL
Funções de texto, números e datas são muito úteis e comumente utilizadas não só em bancos de dados, mas também em qualquer linguagem de programação ou ferramenta de tratamento de dados.
Com SQL, isso não é diferente, e por isso trouxe estas três funções de data que são muito importantes para você conhecer e bastante tranquilas de entender.
Função datediff no SQL
Vamos começar pela função datediff no SQL. Essa função calcula a diferença entre duas datas, retornando o resultado em dias. Você só precisa passar as duas datas que deseja calcular a diferença: datediff(data1, data2).
Como exemplo, vamos calcular a idade dos clientes da nossa base de dados. Para isso, vamos calcular a diferença entre a data de nascimento presente na tabela e a data atual (obtida através da função curdate). Isso trará o resultado em dias.
Para obter a idade em anos, vamos dividir esse resultado por 365. E para arredondar e ter os anos em números inteiros, vamos utilizar a função floor, que arredonda os valores para baixo.
SELECT
Nome,
floor(datediff(curdate(), Data_Nascimento)/365) AS Idade
FROM clientes;
É claro que esse resultado não será 100% preciso, pois não estamos considerando os anos bissextos, porém é apenas uma forma de exemplificar a aplicação da função datediff.
Função date_add no SQL
A função date_add é utilizada para adicionar um intervalo de tempo a uma data.
date_add(data, intervalo valor unidade)
Vamos, por exemplo, adicionar 10 dias à data de nascimento dos clientes do nosso banco de dados.
SELECT
Nome,
Data_Nascimento,
date_add(Data_Nascimento, interval 10 day)
FROM clientes;
Nesse exemplo, estamos adicionando dez dias, mas poderiam ser meses, anos, semanas, dependendo de qual unidade você definisse para o intervalo adicionado.
Função date_sub no SQL
Já a função date_sub faz exatamente o contrário da date_add. Ao invés de adicionar um intervalo de tempo, ela subtrai um intervalo de tempo de uma data.
date_sub(data, intervalo valor unidade)
Vamos, por exemplo, subtrair 5 dias da data de nascimento dos clientes.
SELECT
Nome,
Data_Nascimento,
date_sub(Data_Nascimento, interval 10 day)
FROM clientes;
O mesmo poderíamos fazer para meses, semanas ou anos.
Recomendações sobre Manipulação de Datas
É recomendado utilizarmos essas funções ao invés de fazer o cálculo direto entre uma data e outra, como adicionar data1 + data2 ou subtrair data1 – data2. Dessa forma, evitamos problemas ao lidar com diferentes tipos de dados.
Dentro do SQL, temos dados do tipo Date e do tipo Datetime, e realizar os cálculos diretamente entre as datas pode gerar algum erro ou resultado inesperado. Já com o uso das funções específicas, isso não ocorre.
Perguntas frequentes
1. Como calcular a diferença entre duas datas no SQL?
Use a função datediff, que retorna a diferença em dias entre duas datas: datediff(data_maior, data_menor). Por exemplo, para calcular a idade a partir da data de nascimento, use floor(datediff(curdate(), Data_Nascimento)/365), dividindo por 365 e arredondando com floor para obter os anos completos.
2. Como adicionar dias, meses ou anos a uma data no SQL?
Use a função date_add com a palavra-chave INTERVAL: date_add(data, INTERVAL valor unidade). Por exemplo, date_add(Data_Nascimento, INTERVAL 10 day) soma 10 dias à data. Basta trocar a unidade por month, year ou week para somar meses, anos ou semanas, alterando também o valor desejado.
3. Qual a diferença entre date_add e date_sub no SQL?
As duas funções são opostas. O date_add soma um intervalo de tempo a uma data, avançando no calendário; o date_sub subtrai um intervalo, retrocedendo. A sintaxe é igual: date_sub(data, INTERVAL valor unidade). Por exemplo, date_sub(Data_Nascimento, INTERVAL 5 day) retorna a data cinco dias antes da informada.
4. Por que usar funções de data em vez de somar datas diretamente?
Porque somar ou subtrair datas diretamente (data1 + data2) pode gerar erros ou resultados inesperados, já que o SQL trabalha com tipos diferentes como Date e Datetime. As funções específicas tratam esses tipos corretamente, garantindo cálculos precisos ao adicionar, subtrair ou medir intervalos entre datas.
Conclusão – 3 Funções de Data no SQL – Funções Úteis para o Trabalho
Nessa aula, você aprendeu como utilizar funções de data no SQL, ferramentas muito úteis para o trabalho e para manipular datas no SQL.
Com essas funções, você poderá adicionar e subtrair intervalos de datas em suas tabelas, além de calcular a diferença entre duas datas, de forma prática e correta, evitando erros e resultados inesperados.
Hashtag Treinamentos
Para acessar outras publicações de SQL, clique aqui!


