Datas - SQL
Galera bom dia!
Como faço pra retornar todos os dias de um mês numa Query? Só consigo retornar o dia 1, e quando coloco outro dia retorna vazia.
Como faço pra retornar todos os dias de um mês numa Query? Só consigo retornar o dia 1, e quando coloco outro dia retorna vazia.
Anderson Souza
Curtidas 0
Respostas
Marcos P
19/02/2016
Coloque aqui a query que você está tentando fazer...
GOSTEI 0
Fabiano Carvalho
19/02/2016
if object_Id('DATAS') is not null drop table DATAS; SELECT DATEADD(MM, DATEDIFF(MM,0,GETDATE()-1), 0) DATA_INICIO, CAST(CAST(GETDATE()-1 AS DATETIME) AS DATETIME) AS DATA_FINAL INTO DATAS; if object_id('TemporariaDatas') is not null drop table TemporariaDatas; create table TemporariaDatas ( Data Varchar(10) ) Declare @DataInical Datetime, @DataFinal Datetime, @RepetidorDias Int, @ZeraDias int SET @DataInical = (select data_inicio from DATAS) SET @DataFinal= (select Data_Final from DATAS) While @DataInical <= @DataFinal begin set @RepetidorDias = 1 set @ZeraDias = 0 While @ZeraDias < @RepetidorDias --Repete os dias na tabela begin insert into TemporariaDatas (Data) select Convert(Varchar(10),@DataInical,103) as data set @ZeraDias = @ZeraDias + 1 end set @DataInical = dateadd(d,1,@DataInical) end --EndDatas SET LANGUAGE PORTUGUESE; SELECT LEFT(DATA,2) AS DIA_MES, LEFT(UPPER(DATENAME(DW,CONVERT(DATETIME,DATA,103))),3) AS DIA FROM TemporariaDatas SET LANGUAGE PORTUGUESE; SELECT Data, LEFT(DATA,2) AS DIA_MES, LEFT(UPPER(DATENAME(DW,CONVERT(DATETIME,DATA,103))),3) AS DIA_SEMANA FROM TemporariaDatas
GOSTEI 0