Abaixo segue algumas funções que trabalham a data e hora no SQL Server.
DATEPART – Retorna uma parte da data especificada em data
Sintaxe: DATEPART(datepart,date)
Por exemplo, digamos que você queira retornar apenas o mês na data atual do sistema, a sintaxe seria:
Sintaxe: DATEPART(MM,GETDATE())
Veja mais em http://msdn.microsoft.com/pt-br/library/ms174420.aspx
CAST e CONVERT – Converte o valor de expression em um tipo de data pre-definido na função
Syntax for CAST: CAST(expression AS data_type[(length)])
Syntax for CONVERT: CONVERT(data_type[(length)],expression[,style])
Por exemplo, digamos que você queira converter a data do sistema no formato de data padrão no brasil, que é DD/MM/AAAA, a sintaxe seria:
CONVERT(VARCHAR(20),GETDATE(),103)
Se você desejasse jogar o formato da data no padrão EUA, é só alterar style para 101.
Veja mais em http://msdn.microsoft.com/pt-br/library/ms187928.aspx
GETDATE – Retorna a hora atual do sistema
Sintaxe: GETDATE( )
Veja mais em http://msdn.microsoft.com/pt-br/library/ms188383.aspx
Existem mais outros tipo de dados e funções de data e hora (Transact-SQL) como:
- Função que obtém valores de data e hora do sistema
- Funções que obtêm partes de data e hora
- Funções que obtêm valores de data e hora de suas partes
- Funções que obtêm diferença de data e hora
- Funções que modificam valores de data e hora
- Funções que definem ou obtêm funções de formato de sessão
- Funções que validam valores de data e hora
Para ver mais sobre essas fuções acesse http://msdn.microsoft.com/pt-br/library/ms186724.aspx
Calculo com Data no SQL Server
Subtrai um ano da data informada
SELECT DATEADD(YEAR, -1, '2013-04-02T00:00:00'); SELECT DATEADD(YEAR, -1, GETDATE());
Adiciona um ano à data informada
SELECT DATEADD(YEAR, +1, '2014-04-02T00:00:00');
Adiciona um dia da data
SELECT DATEADD(Day, 1, '2014-04-29T00:00:00');
Subtrai um mês da data
SELECT DATEADD(Month, -1, '2014-04-29T00:00:00');
Adiciona uma hora à data
SELECT DATEADD(hour , +1, '2014-04-29T00:00:00');