내 매개 변수를 기반으로하는 열이있는 테이블을 만들어야합니다. 매개 변수는 문자열 변수이며 쉼표로 구분 된 여러 값의 월 및 연도 조합으로 구성됩니다. 이 값을 기반으로 임시 테이블을 만들어야합니다. 나는 아래처럼 시도했다테이블 만들기 열로 행 선택
DECLARE @compareMonths VARCHAR(2000)
DECLARE @compareCount INT
DECLARE @cols VARCHAR(2000)
DECLARE @query AS NVARCHAR(MAX);
SET @compareMonths = '2014-01,2014-02'
select @cols = STUFF((SELECT distinct ',' +
CONVERT(CHAR(3), DATENAME(MONTH, CAST(
CAST(SUBSTRING(Data, 0, 5) AS VARCHAR(4)) +
RIGHT('0' + CAST(SUBSTRING(Data, 6, 2) AS VARCHAR(2)), 2) +
RIGHT('0' + CAST(1 AS VARCHAR(2)), 2)
AS DATETIME))) + ' ' + CAST(SUBSTRING(Data, 0, 5) AS VARCHAR(4))
FROM dbo.Split(@compareMonths, ',')
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
, 1, 1, '');
나는 여기에 달 이름과 연도가 있지만 이걸 기반으로 테이블을 동적으로 만드는 방법을 알고있다. 피벗을 사용할 값 열이 없습니다.
2014년 1월라는 이름의이 열이 있어야합니다 내 outout 테이블 2 월 2014 년
당신이하고 싶은 일에 대해 분명히해야합니다. csv 문자열의 모든 단어를 추출한 다음 모두 같은 열에 삽입하고 싶습니까? 또한, 현재 직면하고있는 문제는 무엇입니까? 오류입니까? 샘플 테이블? –
나는 그 값들을 행으로 포함하는 테이블로 나뉘어져있다. 이제는이 행에서 임시 테이블을 만들어야합니다. 열을 행으로 바꾸어서 테이블을 만드는 방법을 모른다. 피벗을 사용하는 다른 값 열도 없습니다 – Akhil