에서
덕분 참조 DATEADD()
select convert(datetime,'6/1/2010')
select DATEADD(day,-1,DATEADD(month,1,convert(datetime,'6/1/2010'))) --6/30/2010
select DATEADD(month,1,convert(datetime,'6/1/2010')) --7/1/2010
당신은 가능성이 빠르고 정말 더러운 단지 하나의 큰 쿼리 또는 임시 테이블을 생성 할 저장 프로 시저에서이 실행됩니다
...
난 그냥 전체 당신을위한 것,하지만 건초을 주저
...
create procedure getFiscalYear
@startDate nvarchar(10)
as begin
declare @myDate datetime
set @myDate = convert(datetime,@startDate)
select 1 as Period, @myDate as startDate, DATEADD(day,-1,DATEADD(month,1,@myDate)) as endDate
union
select 2 as Period, DATEADD(month,1,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,2,@myDate)) as endDate
union
select 3 as Period, DATEADD(month,2,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,3,@myDate)) as endDate
union
select 4 as Period, DATEADD(month,3,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,4,@myDate)) as endDate
union
select 5 as Period, DATEADD(month,4,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,5,@myDate)) as endDate
union
select 6 as Period, DATEADD(month,5,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,6,@myDate)) as endDate
union
select 7 as Period, DATEADD(month,6,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,7,@myDate)) as endDate
union
select 8 as Period, DATEADD(month,7,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,8,@myDate)) as endDate
union
select 9 as Period, DATEADD(month,8,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,9,@myDate)) as endDate
union
select 10 as Period, DATEADD(month,9,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,10,@myDate)) as endDate
union
select 11 as Period, DATEADD(month,10,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,11,@myDate)) as endDate
union
select 12 as Period, DATEADD(month,11,@myDate) as startDate, DATEADD(day,-1,DATEADD(month,12,@myDate)) as endDate
end
이것은 추한 방법입니다 ...
Bobs가 쿼리 작업을 해줘서 고맙습니다. 어떻게 날짜 부분 만 가져올 수 있습니까? 실제로 타임 스탬프와 함께 오는 것입니다. 너무 많은 질문에 대한 미안 오라클 배경과 SQLSERVER에 새로운 있습니다. – user342944
오오 BOB 나는 주위에 인터넷 검색을 해 봤어. Convert (varchar (10), DATEADD (month, number - 1, @StartDate), 105) thankssssssssssssssssssssssss – user342944