Usuário com melhor resposta
Replicar dados trocando o ano da data

Pergunta
-
Respostas
-
Eduardo,
Veja se este exemplo ajuda:
Declare
@Tabela Table (Codigo Int Identity(1,1), Data DateTime)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-730)Insert
Into @Tabela Values (GetDate()-730)Insert
Into @Tabela Values (GetDate()-730)Insert
Into @Tabela Values (GetDate()-730)Insert
Into @Tabela Values (GetDate()-730)Select
* Into #Ano2009 from @TabelaWhere
Year(Data)=2008Update
#NomeTabelaSet
Data=Convert(Char(10),Day(Data))+'/'+Convert(Char(10),Month(Data))+'/2009'Insert
Into @Tabela Select Data from #Ano2009Select
* from #NomeTabela -
Boa Tarde,
Eu faria de outra forma (possivelmente mais performática por conta da utilização de uma índice em Data se houver).
Code Snippetdeclare
@t table (data smalldatetime)insert
into @t values ('20080608 19:00')insert
into @t values ('20090608 20:00')insert
into @t values ('20060608 10:00')insert
into @t values ('20070608 13:00')insert
into @t values ('20080608 15:00')insert
into @tselect
dateadd(yy,1,data) from @twhere
data >= '20080101' and data < '20090101'select
* from @t[ ]s,
Gustavo Maia Aguiar
Todas as Respostas
-
Eduardo,
Veja se este exemplo ajuda:
Declare
@Tabela Table (Codigo Int Identity(1,1), Data DateTime)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-365)Insert
Into @Tabela Values (GetDate()-730)Insert
Into @Tabela Values (GetDate()-730)Insert
Into @Tabela Values (GetDate()-730)Insert
Into @Tabela Values (GetDate()-730)Insert
Into @Tabela Values (GetDate()-730)Select
* Into #Ano2009 from @TabelaWhere
Year(Data)=2008Update
#NomeTabelaSet
Data=Convert(Char(10),Day(Data))+'/'+Convert(Char(10),Month(Data))+'/2009'Insert
Into @Tabela Select Data from #Ano2009Select
* from #NomeTabela -
Boa Tarde,
Eu faria de outra forma (possivelmente mais performática por conta da utilização de uma índice em Data se houver).
Code Snippetdeclare
@t table (data smalldatetime)insert
into @t values ('20080608 19:00')insert
into @t values ('20090608 20:00')insert
into @t values ('20060608 10:00')insert
into @t values ('20070608 13:00')insert
into @t values ('20080608 15:00')insert
into @tselect
dateadd(yy,1,data) from @twhere
data >= '20080101' and data < '20090101'select
* from @t[ ]s,
Gustavo Maia Aguiar