domingo, 26 de julho de 2009

A manipulação da data no SQL Server, vamos ver na pratica alguns exemplos:


-- Exemplo 1
select getdate()

Esta função retorna a data actual 2009-07-26 14:55:03.210

-- Exemplo 2
select GETDATE()+60

Neste exemplo adicionamos 60 dias a data actual e o resultado é 2009-09-24 14:56:40.210

-- Exemplo 3
select DATEADD(M,2,getdate()) -- M month, y year, d day

A função DateAdd function adiciona neste exemplo meses ou dias,ou anos, a data actual ou outra colocada em variável . Então adicionando 2 meses a data corrente o resultado é 2009-09-26 14:57:48.117
a diferença de resultados entre o exemplo 2 e 3 (2 dias), porque no exemplo 2 adicionamos 60 dias e não 2 meses.

-- Exemplo 4
select DATEDIFF(DAY,(DATEADD(M,2,getdate())),(GETDATE()+60))

Esta função calcula a diferença entre datas e retorna um numero inteiro, usando o exemplo o resultado é -2

-- Exemplo 5
SET DATEFORMAT dmy;
GO
DECLARE @datevar datetime
Set @datevar=GETDATE()
select @datevar

Neste exemplo formata-mos a data do tipo dd-mm-aaaa


-- Exemplo 6
select substring((convert(varchar(10),@datevar,127)),1,10)
resultado 2009-07-26

Conversão de tipo de dados de DateTime para varchar(10), usando o parâmetro 127 ( yyyy-mm-dd) que nos indica o formato da data

-- Exemplo 7
select substring((convert(varchar(10),@datevar,103)),1,10)
resultado 26/07/2009

Conversão de tipo de dados de DateTime para varchar(10), usando o parâmetro 103 ( yyyy-mm-dd) que nos indica o formato da data (dd/mm/aaaa)

Mais documentação sobre a função convert em http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx

Sem comentários:

Enviar um comentário