은 어쩌면 내가 미쳤다고하지만, 나는이 알아낼 종류의 재미라고 생각했다. 그 끈을 떼어 내고 그 첫날의 날짜를 알아야했습니다. 그런 다음 그 달을 알아내어 문자열로 다시 연결했습니다.
CREATE TABLE #f(
CALWEEK VARCHAR(10));
INSERT #f (CALWEEK)
VALUES ('201602'),('201606'),('201612'),('201624'),('201630'),
('201632'),('201650'),('201652'),('201701'),('201706'),('201715');
SELECT CALWEEK,
--GETTING THE YEAR
CAST(DATEPART(yyyy,DATEADD(wk,DATEDIFF(wk,6,'1/1/' +
SUBSTRING(CALWEEK,1,4)) +
(SUBSTRING(CALWEEK,5,6)-1), 6))AS VARCHAR(4))+
--GETTING THE MONTH
CASE WHEN LEN(
CAST(DATEPART(mm,DATEADD(wk,DATEDIFF(wk,6,'1/1/' +
SUBSTRING(CALWEEK,1,4)) +
(SUBSTRING(CALWEEK,5,6)-1), 6)) AS VARCHAR(2))) = 1
THEN '0' + CAST(DATEPART(mm,DATEADD(wk,DATEDIFF(wk,6,'1/1/' +
SUBSTRING(CALWEEK,1,4)) +
(SUBSTRING(CALWEEK,5,6)-1), 6)) AS VARCHAR(2))
ELSE CAST(DATEPART(mm,DATEADD(wk,DATEDIFF(wk,6,'1/1/' +
SUBSTRING(CALWEEK,1,4)) +
(SUBSTRING(CALWEEK,5,6)-1), 6)) AS VARCHAR(2)) END AS 'CALMONTH'
FROM #f
DROP TABLE #f
실제로 필요한 것은 무엇입니까? 1 ~ 2 개월이 될 수 있기 때문에 몇 주에서 몇 달로 변환 할 수 없습니다. SAP 함수를 참조하는 대신 적절한 예제를 추가하십시오. –
@JamesZ 무엇을 원하십니까? SQL 필드에서 편집 할 SAP 필드가있는 데이터가 있습니다. CALWEEK를 CALMONTH로 변환해야합니다. 시작 데이터는 CALMONTH 및 CALWEEK 필드와 함께 제공되므로 매월부터 월간으로 돌아 오기 위해 일부 JOIN을 시도 할 수 있습니다. – hhh
어떤 데이터 형식으로 저장됩니까? – Jason