freeCodeCamp/guide/portuguese/sql/sql-date-functions/index.md

3.2 KiB

title localeTitle
SQL Date Functions Funções de Data SQL

Funções de Data SQL

Introdução

Existem 61 Funções de Data definidas no MySQL. Não se preocupe, não vamos revisá-los todos aqui. Este guia lhe dará uma introdução a alguns dos mais comuns e exposição suficiente para você explorar confortavelmente por conta própria.

Nós cobriremos:

  • Obtendo a data atual
  • Data Matemática
  • Datas em um local onde ou tendo cláusula

Obtendo a data atual

Obter a data do sistema pode ser muito útil para processar dados usando SQL.

-- current date 
 select now(), sysdate(), current_date(), current_time(), -- date and time from the system on execution 
 dayofyear(now()) as NumDaysSoFarThisYr, 
 EXTRACT(YEAR FROM now()) as theYearPart, 
 EXTRACT(YEAR_MONTH FROM now()) as theYrMonPart, 
 date_format(now(), '%W %M %Y') as oneOfManyFormats; 
 ; 

image-1

Na consulta SQL, vemos o seguinte:

  • As duas primeiras colunas no resultado são duas maneiras de obter as mesmas informações: a data no sistema no momento em que o SQL é executado.
  • As próximas duas colunas dividem apenas as partes Data e Hora da data do sistema.
  • O próximo apresenta o "número do dia" da data do sistema neste ano. Você notará que este é um dia a mais do que a matemática mostrada no próximo exemplo.
  • Os próximos dois extraem apenas o ano e depois o ano e o mês
  • Por último, mas não menos importante, há um único exemplo de uma das muitas maneiras de formatar essas datas.

Data Matemática

select now(), current_date(), 
 datediff(now(),'2017-01-01') as daysThisYear, 
 subdate(current_date(), interval 150 day) as '150DaysAgo', 
 adddate(now(), interval 7 day) as dateInA_Week -- date in a week 
 ; 

image-1

Aqui vemos:

  • As duas primeiras colunas são apenas a data e a hora do sistema para referência.
  • A segunda coluna é a diferença de data (data) entre o primeiro de janeiro de 2017 e a data do sistema.
  • As duas últimas colunas são exemplos de subtração e adição de datas.

Em um lugar ou ter cláusula

Aqui estão dois exemplos de uso de data em uma cláusula where:

select * from student; - to show the current data being used for the example 
 select * from student where recordCreated < '2017-01-01'; 
 select * from student where recordCreated < subdate(current_date(), interval 225 day); 

image-1

Quanto à parte HAVING: Lembre-se, a maior parte da lógica da cláusula WHERE também funcionará na cláusula HAVING de um GROUP BY. A diferença entre os dois é que a cláusula WHERE é executada em relação aos dados completos e o HAVING é executado nos dados agregados pela cláusula GROUP BY.

Tal como acontece com todas estas coisas, há muito mais para eles do que o que está neste guia introdutório. Espero que pelo menos isso lhe dê o suficiente para começar. Por favor, consulte o manual do seu gerenciador de banco de dados e divirta-se tentando opções diferentes.