Neste tutorial, aprenderemos sobre algumas das funções de data importantes incorporadas ao SQL.
Funções de data em SQL:
- AGORA()
- CURDADO()
- CURTIME()
- DATA()
- EXTRAIR()
- DATA_ADD()
- DATA_SUB()
- DATADIFF()
- 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.