能像这样用select语句来完成:SQL SELECT语句的字符串连接
SELECT col1, concat(col2 + ' ') FROM ....
GROUP BY col1
我知道我可以使用count(COL2)或SUM(COL2)为整数,但是是有串联如果一个函数类型是nvarchar还是nchar?
能像这样用select语句来完成:SQL SELECT语句的字符串连接
SELECT col1, concat(col2 + ' ') FROM ....
GROUP BY col1
我知道我可以使用count(COL2)或SUM(COL2)为整数,但是是有串联如果一个函数类型是nvarchar还是nchar?
在SQL Server中,如果要跨行进行连接,则没有内置函数可以执行此操作。
我个人很喜欢using XML PATH,因为它似乎表现良好,但是这将在SQL Server 2005年起
SELECT
STUFF(
(
SELECT
' ' + Description
FROM dbo.Brands
FOR XML PATH('')
), 1, 1, ''
) As concatenated_string
试过了,它工作,因为我需要我。 感谢您的帮助:)。 – user182945 2009-12-05 11:27:33
没问题,乐意帮忙。根据查询,您可能需要使用连接将在STUFF函数内连接的结果集绑定到函数外部的字段,以限制结果集,从而限制结果集中的每个结果的串联字符串。 – 2009-12-05 11:37:21
OP希望通过聚合功能来完成此操作。 – 2009-12-05 11:13:58
使用Sql Server没有内置聚合连接foncton,我知道MySql有一个叫做group_concat。
您需要使用Sql Server编写您自己的Scaler函数或CLR函数来实现此功能。
或者你可以使用游标来为你做这件事,用一个表var来返回结果。如果你喜欢,我可以提供一个例子。
是唯一的工作,而是取决于其RDBMS所使用。 – 2009-12-05 11:11:27
忘了提及我正在使用Microsoft SQL Server 2008. – user182945 2009-12-05 11:15:36