집 >데이터 베이스 >MySQL 튜토리얼 >2017 이전 버전에서 SQL Server의 'string_agg' 기능을 어떻게 복제할 수 있나요?
string_agg
에뮬레이션2017년에 도입된 SQL Server의 string_agg
기능은 문자열 연결을 단순화합니다. 그러나 이전 버전의 경우 대체 접근 방식이 필요합니다. 이 기사에서는 유사한 결과를 얻는 방법을 보여줍니다.
목표는 이 쿼리의 기능을 복제하는 것입니다.
<code class="language-sql">SELECT STRING_AGG(t.id, ',') AS id FROM Table t;</code>
쉼표를 구분 기호로 사용하여 '테이블' 테이블의 'id' 열 값을 연결합니다.
2017년 이전 SQL Server에는 string_agg
이 부족합니다. 솔루션은 FOR XML PATH
메소드를 활용합니다:
<code class="language-sql">SELECT STUFF((SELECT ',' + CAST(t.id AS VARCHAR(MAX)) FROM Table t FOR XML PATH('')), 1, 1, '');</code>
이것은 쉼표로 구분된 문자열을 교묘하게 구성합니다. FOR XML PATH('')
은 XML 표현을 생성하여 쉼표로 구분된 목록을 효과적으로 생성합니다. STUFF()
그런 다음 선행 쉼표를 제거합니다. 이는 string_agg
동작
이 해결 방법은 최신 string_agg
함수의 기능을 미러링하여 이전 SQL Server 버전의 문자열 연결에 대한 실용적인 솔루션을 제공합니다.
위 내용은 2017 이전 버전에서 SQL Server의 'string_agg' 기능을 어떻게 복제할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!