3.2 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	title, localeTitle
| 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; 
 ; 
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 
 ; 
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); 
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.

