집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 SQL 쿼리 결과를 단일 문자열로 연결하는 방법은 무엇입니까?
SQL 쿼리 결과를 단일 문자열로 연결
SQL Server에서는 여러 쿼리 결과를 단일 문자열로 결합하는 작업을 수행할 수 있습니다. 다양한 기술을 사용합니다.
XML PATH 및 STUFF
SQL Server 2005 이상의 경우 FOR XML PATH와 STUFF 조합은 간단한 접근 방식을 제공합니다.
DECLARE @CodeNameString varchar(100) SELECT @CodeNameString = STUFF( (SELECT ',' + CodeName FROM dbo.AccountCodes ORDER BY Sort FOR XML PATH('')), 1, 1, '')
이 방법은 쿼리 결과를 단일 XML 문자열로 연결하고 그런 다음 STUFF를 사용하여 선행 "," 문자를 제거합니다.
XML 기반 연결
또 다른 옵션은 XML 연결 기능을 활용하는 것입니다.
DECLARE @CodeNameString varchar(100) SET @CodeNameString = (SELECT CodeName FROM dbo.AccountCodes FOR XML PATH(''))
커서 기반 접근 방식
XML 연결이 실행 가능하지 않으므로 커서 기반 접근 방식이 가능합니다. 채용됨:
DECLARE @CodeNameString varchar(100) DECLARE @CodeName varchar(50) DECLARE cursor CURSOR FOR SELECT CodeName FROM dbo.AccountCodes ORDER BY Sort OPEN CURSOR FETCH NEXT FROM CURSOR INTO @CodeName WHILE @@FETCH_STATUS = 0 BEGIN SET @CodeNameString = @CodeNameString + @CodeName + ',' FETCH NEXT FROM CURSOR INTO @CodeName END CLOSE CURSOR DEALLOCATE CURSOR
이 방법은 쿼리 결과를 반복하여 @CodeNameString 변수에 추가합니다.
선호되는 접근 방식
선호되는 접근 방식 접근 방식은 SQL Server 버전 및 특정 데이터 특성에 따라 다릅니다. 데이터에 '<', '>'와 같은 특수 문자가 포함된 경우 또는 '&'인 경우 FOR XML PATH 및 STUFF 기술을 사용하는 것이 좋습니다. 대규모 데이터 세트나 성능에 민감한 시나리오의 경우 커서 기반 접근 방식이 더 적합할 수 있습니다.
위 내용은 SQL Server에서 SQL 쿼리 결과를 단일 문자열로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!