데이터베이스 개발자 질문과 답변 게시판
소스는 이렇습니다...
DECLARE @STR NVARCHAR(MAX)
,@STR2 NVARCHAR(MAX)
,@A INT
SET @STR = ''
SET @STR2 = ''
SET @A = 0
WHILE @A < 9 BEGIN
SET @A = @A + 1
SET @STR2 = @STR2 + N',(SELECT COUNT(DISTINCT(CONVERT(CHAR(8),DATEADD(MM,'+@A+',GETDATE()),112)) FROM WEBHISTORY WHERE userid = dbo.f_getDecData(''wpdlfrlghlr1cheilkihuk'',CU.ID))'
END
SELECT @STR2
SET @STR = N'
SELECT
TOP 10
UID
,(SELECT DATEDIFF(MM,CU.REGIST_DATETIME,GETDATE()))[REGIST_MONTH_DATE]
,(SELECT DATEDIFF(DD,CU.REGIST_DATETIME,GETDATE()))[REGIST_MONTH_DAY]
,(SELECT COUNT(DISTINCT(CONVERT(varchar(6),lastaccess,112))) FROM WEBHISTORY where userid = dbo.f_getDecData(''ABCD'',CU.ID))[PCAGENTMONTH]
'+@STR2+'
FROM CP_USER CU
'
EXECUTE sp_executesql @STR
에러 문구는..
메시지 245, 수준 16, 상태 1, 프로시저 ysp_total_Information_collection, 줄 17
nvarchar 값 ',(SELECT COUNT(DISTINCT(CONVERT(CHAR(8),DATEADD(MM,'을(를) 데이터 형식 int(으)로 변환하지 못했습니다.
동적쿼리시 while 문으로 1~9까지 생성하여 컬럼을 만들어줄려고 하는데...
저런식으로 오류가 떠서 int형을 string형으로 만들어보고 이렇게도 해보고 저렇게도 해보고 했는데도 답이 안나오네요.ㅠㅠ
조언부탁드립니다..ㅠㅠ (_ _)
초보인데요~
cast로 문자형으로 변환 해보세요~