StackOverflow (How to split date ranges based on months in SQL Server 2005)에 다른 기사를 사용하여 나는 달로 날짜 범위를 나누어 SQL에 2 열 (DateFrom, DateTo
)을 반환하는 SELECT
문을 실행했습니다.SQL - 결과를 쉼표로 구분 된 문자열로 변환합니다.
DECLARE @SDate DATE = '2012/08/01'
DECLARE @EDate DATE = '2013/09/01'
SELECT
DATEADD(MONTH, n.Number, @SDate) as DateFrom,
DATEADD(day, -1, DATEADD(MONTH, n.Number, DATEADD(YEAR,-1,@EDate))) as DateTo
FROM
master.dbo.spt_values n
WHERE
n.Number < DATEDIFF(MONTH, @SDate, @EDate)
AND n.Type = 'P'
는 지금 |
(Dateto|Datefrom
)에 의해 열을 분리하는 문자열과 ,
하여 각 행에 반환 된 각 행을 추가해야합니다.
당신의 것입니다 결과 위의 코드를 실행하면 (그냥 예를 들어 메신저는 처음 4 개 행을 사용하는하지만 하나 개의 문자열에 모두 필요) :
R | Date From | Date To
1 | 2012-08-01 | 2012-08-31
2 | 2012-09-01 | 2012-09-30
3 | 2012-10-01 | 2012-10-30
4 | 2012-11-01 | 2012-11-30
코드 :
에서2012-08-01|2012-08-31,2012-10-01|2012-10-30,2012-10-01|2012-10-30,2012-11-01|2012-11-30
내가 시도 몇 가지 제안을 : 내가 돌아 PRINT 필요 무엇
DECLARE @stralldates VarChar(MAX)
/* SET @stralldates = INSERTCODE */
PRINT @stralldates
StackOverflow에 대한 비슷한 질문 (예 : CONCAT
)은 성공하지 못합니다.
도움이나 의견을 보내 주시면 감사하겠습니다.
도움을 주셔서 감사합니다. 바로 내가 필요한 것! –