create procedure dummy2
as
begin
declare @sDate datetime,
@eDate datetime
select @sDate = '2013-02-25',
@eDate = '2013-03-25'
;with cte as (
select convert(datetime,left(convert(varchar,@sdate,112),6) + '01') startDate ,
month(@sdate) n
union all
select dateadd(month,n,convert(datetime,convert(varchar,year(@sdate)) + '0101')) startDate,
(n+1) n
from cte
where n < month(@sdate) + datediff(month,@sdate,@edate)
)
select CONVERT(varchar(20), DATENAME(MONTH, startdate))as Months, startdate, dateadd(day,-1,dateadd(month,1,startdate)) enddate
from cte
end
Months startdate enddate
February 2013-02-01 00:00:00.000 2013-02-28 00:00:00.000
March 2013-03-01 00:00:00.000 2013-03-31 00:00:00.000
Hallo, ich brauche die Liste von Startdatum und Enddatum, Monatsname zwischen zwei Daten, oben ist meine Abfrage, aber die Ergebnis ist nicht correct..i muß das Ergebnis wie unterWie bekomme ich den aktuellen Monatsnamen, Startdatum und Enddatum zwischen zwei Daten in SQL Server
Anmerkung: das Start- und Enddatum ist, was ich gegeben, zwischen diesen Tagen i der Liste der Monate neee Startdatum und Enddatum, Monatsname
Monat | Startdatum | enddatum
feburary | 2013-02-25 | 2013-02-28 März | 2013-03-01 | 2013-03-25
Wenn Sie nicht brauchen Zeit Typ mit Datum als Daten starten – Dejan