logo

Funções de data SQL

Neste tutorial, aprenderemos sobre algumas das funções de data importantes incorporadas ao SQL.

Funções de data em SQL:

  1. AGORA()
  2. CURDADO()
  3. CURTIME()
  4. DATA()
  5. EXTRAIR()
  6. DATA_ADD()
  7. DATA_SUB()
  8. DATADIFF()
  9. FORMATO DE DATA()

Vamos ver cada uma das funções de data, uma por uma, em detalhes com a ajuda de exemplos. Estaremos usando o banco de dados MySQL em exemplos para escrever as consultas.

Considere que temos a tabela do aluno com os seguintes dados:

EU IA Nome DataHora_Nascimento Cidade
1 Mansi Xá 01/01/2010 18:39:09 Puna
2 Tejal Wagh 04/03/2010 05:13:19 Nasik
3 Sejal Kumari 01/05/2010 10:31:07 Bombaim
4 Sonal Jain 09/09/2010 17:17:07 Shimla
5 Surili Maheshwari 10/07/2010 20:45:18 Carta

Usaremos esta tabela em alguns dos exemplos.

1. AGORA():

A função NOW() em SQL fornecerá a data e hora do sistema atual.

Sintaxe:

 SELECT NOW (); 

Exemplo:

Escreva uma consulta para exibir a data e hora do sistema atual.

Consulta:

 mysql> SELECT NOW () AS Current_Date_Time; 

Aqui, escrevemos uma consulta SELECT com a função NOW() para obter a data e hora atuais do sistema. Current_Date_Time é um alias para armazenar a data e a hora.

Depois de executar a consulta acima, obtivemos a seguinte saída:

Data_Atual_Hora
2021-10-24 18:28:44

A data e hora em que a consulta foi executada no sistema são 24ºOutubro de 2021 e 18:28:44. Portanto, ele é exibido como uma saída.

2. CURDADO()

A função CURDATE() em SQL fornecerá a data atual do sistema.

matemática pow java

Sintaxe:

 SELECT CURDATE (); 

Exemplo:

Escreva uma consulta para exibir a data atual do sistema.

Consulta:

 mysql> SELECT CURDATE () AS CurrentDate; 

Aqui, escrevemos uma consulta SELECT com a função CURDATE() para obter a data atual do sistema. CurrentDate é um alias para armazenar a data.

Depois de executar a consulta acima, obtivemos a seguinte saída:

Data atual
2021-10-24

A data em que a consulta foi executada no sistema é 24ºOutubro de 2021. Portanto, é exibido como uma saída.

3. CURTIME()

A função CURTIME() no SQL dará a hora atual do sistema.

Sintaxe:

 SELECT CURTIME (); 

Exemplo:

Escreva uma consulta para exibir a hora atual do sistema.

Consulta:

 mysql> SELECT CURTIME () AS CurrentTime; 

Aqui, escrevemos uma consulta SELECT com a função CURTIME() para obter a hora atual do sistema. CurrentTime é um alias para armazenar a hora.

Depois de executar a consulta acima, obtivemos a seguinte saída:

Hora atual
18:49:07

O horário em que a consulta foi executada no sistema é 18:49:07. Portanto, ele é exibido como uma saída.

4. DATA()

Usando a função DATE() no SQL, você pode extrair especificamente a data da coluna do tipo de dados DATETIME.

Sintaxe:

 SELECT DATE (DateTimeValue); 

Exemplo 1:

Escreva uma consulta para exibir a data a partir da data e hora fornecidas, ou seja, 24/10/2021 18:28:44.

Consulta:

 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE() para obter apenas a data do parâmetro de data e hora passado para a função DATE(). SHOW_DATE é um alias para armazenar a data.

educação shloka mehta

Depois de executar a consulta acima, obtivemos a seguinte saída:

SHOW_DATE
2021-10-24

A partir do parâmetro de data e hora, ou seja, '2021-10-24 18:28:44', o valor da data é 2021-10-24. Portanto, ele é exibido como uma saída.

Exemplo 2:

Escreva uma consulta para exibir todos os detalhes da tabela de alunos com a data da coluna DateTime_Birth da tabela de alunos.

Consulta:

 mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student; 

Aqui, escrevemos uma consulta SELECT para buscar o ID e o nome. Date_of_Birth é um alias para DateTime_Birth. Usamos a função Date_of_Birth com a função DATE() para obter apenas a data.

Depois de executar a consulta acima, obtivemos a seguinte saída:

EU IA Nome Data de nascimento Cidade
1 Mansi Xá 01-01-2010 Puna
2 Tejal Wagh 04-03-2010 Nasik
3 Sejal Kumari 01-05-2010 Bombaim
4 Sonal Jain 09/09/2010 Shimla
5 Surili Maheshwari 10/07/2010 Carta

Todos os registros são exibidos como estão na tabela de alunos, exceto a coluna DateTime_Birth. Apenas a data é exibida na coluna Data_de_Nascimento conforme o requisito.

5. EXTRAIR()

Usando a função EXTRACT() em SQL, podemos extrair uma parte específica da data e hora de acordo com nossas necessidades: dia, mês, ano, dia, hora, minuto, etc.

Sintaxe:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Exemplo 1:

Escreva uma consulta para exibir o ano a partir da data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR; 

Aqui, escrevemos uma consulta SELECT com a função EXTRACT() para obter o ano a partir de uma data especificada. SHOW_YEAR é um alias para armazenar o ano.

Depois de executar a consulta acima, obtivemos a seguinte saída:

SHOW_YEAR
2021

'2021' é o ano na data indicada. Portanto, ele é exibido como uma saída.

Exemplo 2:

Escreva uma consulta para exibir o mês a partir da data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

Aqui, escrevemos uma consulta SELECT com a função EXTRACT() para obter o mês a partir da data especificada. SHOW_MONTH é um alias para armazenar o mês.

Depois de executar a consulta acima, obtivemos a seguinte saída:

SHOW_MONTH
10

10ºé o valor do mês na data especificada. Portanto, ele é exibido como uma saída.

Exemplo 3:

Escreva uma consulta para exibir o dia a partir da data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY; 

Aqui, escrevemos uma consulta SELECT com a função EXTRACT() para obter o dia a partir de uma determinada data. SHOW_DAY é um alias para armazenar o dia.

Depois de executar a consulta acima, obtivemos a seguinte saída:

SHOW_DAY
24

24ºé o valor do dia na data especificada. Portanto, ele é exibido como uma saída.

Exemplo 4:

Escreva uma consulta para exibir a hora de um determinado horário, ou seja, 19:10:43.

Consulta:

 mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR; 

Aqui, escrevemos uma consulta SELECT com a função EXTRACT() para obter a hora a partir de um determinado horário. SHOW_HOUR é um alias para armazenar o valor de uma hora.

Depois de executar a consulta acima, obtivemos a seguinte saída:

SHOW_HOUR
19

'19' é o valor da hora no horário determinado. Portanto, ele é exibido como uma saída.

Exemplo 5:

Escreva uma consulta para exibir o minuto do horário determinado, ou seja, 19:10:43.

Consulta:

 mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE; 

Aqui, escrevemos uma consulta SELECT com a função EXTRACT() para obter o valor do minuto de um determinado horário. SHOW_MINUTE é um alias para armazenar os minutos.

Depois de executar a consulta acima, obtivemos a seguinte saída:

SHOW_MINUTE
10

'10' é o valor do minuto no tempo determinado. Portanto, ele é exibido como uma saída.

Exemplo 6:

Escreva uma consulta para exibir os segundos de um determinado horário, ou seja, 19:10:43.

classe de objeto em java

Consulta:

 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

Aqui, escrevemos uma consulta SELECT com a função EXTRACT() para obter o valor dos segundos de um determinado tempo. SHOW_SECOND é um alias para armazenar o valor de um segundo.

Depois de executar a consulta acima, obtivemos a seguinte saída:

SHOW_SECOND
43

43 é o segundo valor no tempo determinado. Portanto, ele é exibido como uma saída.

6. DATA_ADD()

Usando a função DATE_ADD() no SQL, podemos adicionar um intervalo de tempo específico à data especificada.

Sintaxe:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Exemplo 1:

Escreva uma consulta para adicionar um intervalo de 15 dias à data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE_ADD() para adicionar um intervalo de 15 dias à data especificada. NEW_DATE é um alias para armazenar o valor de uma nova data.

Você obterá a seguinte saída:

NOVA DATA
2021-11-08

Depois de adicionar o intervalo de 15 dias a 24/10/2021, a nova data é 08/11/2021.

Exemplo 2:

Escreva uma consulta para adicionar um intervalo de 5 meses à data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE_ADD() para adicionar um intervalo de 5 meses à data especificada. NEW_DATE é um alias para armazenar o valor de uma nova data.

Você obterá a seguinte saída:

NOVA DATA
2022-03-24

Depois de adicionar o intervalo de 5 meses a 24/10/2021, a nova data é 24/03/2022.

vikas divyakirti

Exemplo 3:

Escreva uma consulta para adicionar um intervalo de 25 anos à data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE_ADD() para adicionar um intervalo de 25 anos à data especificada. NEW_DATE é um alias para armazenar o valor de uma nova data.

Você obterá a seguinte saída:

NOVA DATA
24/10/2046

Depois de adicionar o intervalo de 25 anos a 24/10/2021, a nova data é 24/10/2046.

7. DATA_SUB()

Usando a função DATE_SUB() no SQL, podemos remover um intervalo de tempo específico de uma determinada data.

Sintaxe:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Exemplo 1:

Escreva uma consulta para remover um intervalo de 25 anos a partir da data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE_SUB() para remover um intervalo de 25 anos a partir da data fornecida. NEW_DATE é um alias para armazenar o valor de uma nova data.

Você obterá a seguinte saída:

NOVA DATA
24/10/1996

Depois de remover o intervalo de 25 anos de 24/10/2021, a nova data é 24/10/1996.

Exemplo 2:

Escreva uma consulta para remover um intervalo de 5 meses da data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE_SUB() para remover um intervalo de 5 meses a partir da data especificada. NEW_DATE é um alias para armazenar o valor de uma nova data.

Você obterá a seguinte saída:

NOVA DATA
2021-05-24

Após remover o intervalo de 5 meses de 24/10/2021, a nova data é 24/05/2021.

Exemplo 3:

Escreva uma consulta para remover um intervalo de 15 dias da data especificada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE_SUB() para remover um intervalo de 15 dias a partir da data especificada. NEW_DATE é um alias para armazenar o valor de uma nova data.

Você obterá a seguinte saída:

NOVA DATA
2021-10-09

Após remover o intervalo de 15 dias de 24/10/2021, a nova data é 09/10/2021.

8. DATADIFF()

Usar a função DATEDIFF() em SQL nos dará o número de dias entre as duas datas fornecidas.

Sintaxe:

 SELECT DATEDIFF(Date1, Date2); 

Exemplo 1:

Escreva uma consulta para calcular a diferença entre duas datas fornecidas, ou seja, 24ºOutubro de 2021 e 9ºOutubro de 2021.

Consulta:

 mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE_DIFF() para obter a diferença entre as datas 2021/10/24 e 2021/10/09. Number_of_Days é um alias para armazenar a diferença em termos de número de dias.

Você obterá a seguinte saída:

Número de dias
quinze

Há uma diferença de 15 dias entre as datas 2021-10-24 e 2021-10-09.

Exemplo 2:

Escreva uma consulta para calcular a diferença entre duas datas fornecidas, ou seja, 5ºMaio de 2018 e 5ºMaio de 2008.

Consulta:

 mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE; 

Aqui, escrevemos uma consulta SELECT com a função DATE_DIFF () para obter a diferença entre as datas 05/05/2018 e 05/05/2008. Number_of_Days é um alias para armazenar a diferença em termos de número de dias.

Você obterá a seguinte saída:

Número de dias
3652

Há uma diferença de 3.652 dias entre as datas 05/05/2018 e 05/05/2008.

9. DATA_FORMAT()

Usando a função DATE_FORMAT() no SQL, podemos exibir as informações relacionadas à data ou hora de maneira bem formatada.

Sintaxe de uso de uma função DATE_FORMAT na coluna de uma tabela:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

OU

Sintaxe para formatar uma data específica:

 SELECT DATE_FORMAT (Date, Expression); 

Exemplo 1:

Escreva uma consulta para exibir a data fornecida de maneira bem formatada, ou seja, 24ºOutubro de 2021.

Consulta:

 mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date; 

Aqui, escrevemos uma consulta SELECT com a função DATE_FORMAT () para obter a data 24/10/2021 no formato formatado. Formatted_Date é um alias para armazenar a data formatada.

java char para inteiro

Você obterá a seguinte saída:

Data_formatada
Domingo, 24 de outubro de 2021

Domingo, 24 de outubro de 2021 é a data formatada para 2021-10-24.

Exemplo 2:

Escreva uma consulta para exibir a data e hora fornecidas de maneira bem formatada, ou seja, 24ºOutubro de 2021 22:30:17.

Consulta:

 mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime; 

Aqui, escrevemos uma consulta SELECT com a função DATE_FORMAT () para obter a data e hora '2021-10-24 22:30:17' no formato formatado. Formatted_DateTime é um alias para armazenar a data e hora formatada.

Você obterá a seguinte saída:

Formatado_DataHora
Domingo, 24 de outubro de 2021 22h30:17

Domingo, 24 de outubro de 2021 22:30:17 é a data e hora formatada para 24/10/2021 22:30:17.

Exemplo 3:

Escreva uma consulta para exibir todos os detalhes da coluna do aluno com a coluna DateTime_Birth de maneira bem formatada.

Consulta:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

Aqui, escrevemos uma consulta SELECT com a função DATE_FORMAT() para obter a data e hora de todos os registros em um formato formatado. Formatted_DateTime é um alias para armazenar a data e hora formatada.

Você obterá a seguinte saída:

EU IA Nome Formatado_DataHora Cidade
1 Mansi Xá Sexta-feira, 1º de janeiro de 2010, 18:39:09 Puna
2 Tejal Wagh Quinta-feira, 4 de março de 2010 05:13:19 Nasik
3 Sejal Kumari Sábado, 1º de maio de 2010 10:31:07 Bombaim
4 Sonal Jain Quinta-feira, 9 de setembro de 2010 17:17:07 Shimla
5 Surili Maheshwari Sábado, 10 de julho de 2010 20:45:18 Carta

Todos os registros são exibidos como estão na tabela de alunos, exceto a coluna DateTime_Birth. Apenas a data e a hora são exibidas na coluna Formatted_DateTime conforme necessário.