배경 정보 :SQL Server에서 정확하게 이름을 어떻게 구현합니까?
SSRS 보고서를 채우는 저장 프로 시저가 있습니다. SSRS 보고서는 실행되어 CSV로 내보내집니다. 그런 다음 텍스트 파일로 열리고 3 자 공급 업체 응용 프로그램을 통해 실행됩니다.
교과서의 출력은 다음과 같아야합니다
lid, status, i_flag,Count, pDate, iDate
62558633,"Text Value","08/16",11,"08/16","08/16"
78013526,"Text Value","",,"08/16""08/16"
내 결과는 다음과 같다 :
lid, status, i_flag,Count,pDate,iDate
19007442,"'Dir,MgmtII'",'',2,'','02/16'
17343623,'Text','',0,'11/15','02/16'
지금 내가 사용하는 코드는 다음과 같습니다
SELECT
quotename(isnull(i_flag,''''), '''') as i_flag,
isnull(lid, 0) as lid,
quotename(isnull(status,''''), '''') as status,
isnull(Count, 0) as Count,
quotename(isnull(p_Date,''''), '''') as p_Date,
quotename(isnull(i_Date,''''), '''') as i_Date
FROM
#Table
해결 방법에 대한 아이디어. 이것에 조금 비틀 렸습니다. 감사. 내가 제대로 (나는 아마도 아니에요 함) 귀하의 질문을 이해 해요 경우
QUOTENAME의 역할에 대해 혼란 스러울 수도 있습니다. https://msdn.microsoft.com/en-us/library/ms176114.aspx 식별자를 올바르게 구성하는 데 사용됩니다. –
그 링크를 보았습니다. 다음 코드를 사용하여 프로 시저를 작성하기 전에 테스트를 수행했습니다. Declare @text varchar (10) = 'Name' SELECT QUOTENAME (@Text, ' ""') 죄송합니다. SQL 스 니펫을 추가하는 방법을 모르겠습니다. 그러나 그런 종류의 일은 내가 한 일을 성취한다. 내 쿼리에서 반환 된 행 주위에 큰 따옴표를 추가하려고합니다. 행이 null 인 경우에도. – user6780741
"행이 null 인 경우에도"의미하지는 않습니다. NULL 행과 같은 것은 없습니다. 나는 당신이 출력물로 원하는 것을 포맷팅하는 것을 이해하지 못합니다. 빈 문자열로 NULL을 처리하려고합니다. 그 때문에 4가 아닌 2 개의 작은 따옴표를 사용해야합니다. –