Funções de data e hora sql
23 de setembro de 2010alexberreSem comentários
Continuando o último post, irei falar agora de algumas funções de data e hora no SQL Server.
Data e Hora atuais
As funções a seguir retornam os valores de data e hora atuais do SQL Server.
Veja abaixo um exemplo destas funções:
Funções CAST e CONVERT
As funções CAST e CONVERT são usadas para converter os tipos de dados. Muito utilizadas para converter datas.
Vale lembrar que a função CAST é padrão ANSI e a função CONVERT não.
Segue abaixo alguns exemplos do uso das funções:
Select CAST(’20100923′ AS DATE);
———-
2010-09-23
Select CAST(SYSDATETIME() AS DATE);
———-
2010-09-23
Select CAST(SYSDATETIME() AS TIME);
—————-
22:43:22.0808958
Select CONVERT(CHAR(8), CURRENT_TIMESTAMP,112);
——–
20100923
Select CONVERT(CHAR(10), CURRENT_TIMESTAMP,103);
———-
23/09/2010
SWITCHOFFSET
A função SWITCHOFFSET é utilizada para trabalhar com fuso horário especificado.
Veja alguns exemplos:
Utilizando o Fuso horário (-03:00) do Brasil.
Select SWITCHOFFSET(SYSDATETIMEOFFSET(), ‘-03:00′);
———————————-
2010-09-23 22:53:26.7103102 -03:00
Utilizando o Fuso horário (-05:00)
Select SWITCHOFFSET(SYSDATETIMEOFFSET(), ‘-05:00′);
———————————-
2010-09-23 20:53:55.8522142 -05:00
DATEADD
A função DATEADD permite adicionar um número especifico em dias, meses, anos, semana, trimestre.
Como por exemplo pegar uma data especifica e somar 30 dias, ou 15 meses ou até mesmo 7 anos.
Veja alguns exemplos:
Data Atual: 23/09/2010
Somar 30 dias da data atual:
Select DATEADD(DAY,30,CURRENT_TIMESTAMP);
———————–
2010-10-23 23:01:58.443
Somar 15 meses da data atual:
Select DATEADD(MONTH,15,CURRENT_TIMESTAMP);
———————–
2011-12-23 23:03:26.320
Somar 7 anos da data atual:
Select DATEADD(YEAR,7,CURRENT_TIMESTAMP);
———————–
2017-09-23 23:04:03.523
DATEDIFF
A função DATEDIFF retorna a diferença entre duas datas, que pode ser em dias, meses, anos …
Veja alguns exemplos:
A diferença em