2009-12-05 7 views
1

이런 일이 선택 문을 수행 할 수 있습니다SQL SELECT 문 문자열 연결

SELECT col1, concat(col2 + ' ') FROM .... 
     GROUP BY col1 

내가 정수의 수 (COL2) 또는 합 (COL2)를 사용할 수 있습니다 알고 있지만 경우에 합치하는 기능이있다 형식은 nvarchar 또는 nchar입니까?

+1

예 SQL Server 2005의 경우에만 작동하지만 따라 달라집니다. –

+0

Microsoft SQL Server 2008을 사용하고 있음을 언급하는 것을 잊었습니다. – user182945

답변

4

SQL Server에서 여러 행을 연결하려면이 작업을 수행하는 기본 제공 함수가 없습니다. 있는 사용하는 RDBMS가 잘 수행 보인다

는 개인적으로 using XML PATH을 좋아하지만, 이것은 이후

SELECT 
    STUFF(
    (
    SELECT 
     ' ' + Description 
    FROM dbo.Brands 
    FOR XML PATH('') 
    ), 1, 1, '' 
) As concatenated_string 
+0

그것을 밖으로 시도하고 내가 필요로 작동합니다. 도움을 주셔서 감사합니다 :). – user182945

+0

문제 없습니다. 도와 드리겠습니다. 쿼리에 따라 결과 집합 및 외부 결과 집합의 각 결과에 대한 연결 문자열을 제한하기 위해 조인을 사용하여 함수 외부의 필드에 'STUFF'함수 내에서 연결된 결과 집합을 바인딩해야 할 수 있습니다. –

1

+ operator은 T-SQL에서 문자열을 연결하는 데 사용됩니다.

편집 :

여러 행 this might help를 통해 문자열을 집계 할 경우

.

+3

OP는이 작업을 수행하는 집계 함수로 그룹을 원합니다. –

0

SQL 서버를 사용하면 내장 된 집계 연결 함수가 없으므로 MySql에 group_concat이라는 하나가 있다는 것을 알고 있습니다.

Sql Server는 사용자가 직접 스케일러 기능 또는 CLR 기능을 작성해야합니다.

또는 커서를 사용하여 결과를 반환 할 테이블 var을 사용하여이 작업을 수행 할 수 있습니다. 원하는 경우 예제를 제공 할 수 있습니다.