Fórum Datas - SQL #546174
19/02/2016
0
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
Curtir tópico
+ 0
Responder
Posts
19/02/2016
Marcos P
Coloque aqui a query que você está tentando fazer...
Responder
Gostei + 0
19/02/2016
Fabiano Carvalho
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)