SQL Server 拼接字串 [SQL Server]

來源:互聯網
上載者:User

--建立表

use tempdb
IF OBJECT_ID('Tab') is not null
DROP TABLE Tab
GO
CREATE TABLE Tab
(
[Col1] INT
,[Col2] nvarchar(1)
)

--產生測試資料

INSERT Tab
SELECT 1,N'a'
UNION all
SELECT 1,N'b'
UNION all
SELECT 1,N'c'
UNION all
SELECT 2,N'd'
UNION all
SELECT 2,N'e'
UNION all
SELECT 3,N'f'
GO

SELECT Col1,t.Col2 FROM Tab t

/********************結果********************

 Col1   Col2
 1      a
 1      b
 1      c

 2      d
 2      e

 3      f

/*******************************************/

--建立函數

代碼

IF OBJECT_ID('F_Str') is not null
DROP FUNCTION F_Str
go
CREATE FUNCTION F_Str
(
@Col1 INT
)
RETURNS NVARCHAR(1000)
AS
BEGIN
DECLARE @Str NVARCHAR(1000)
SELECT @Str=ISNULL(@Str+',','')+Col2
FROM Tab
WHERE Col1=@Col1
RETURN @Str
END
GO

--調用

SELECT Col1,Col2=dbo.F_Str(Col1)
FROM Tab
GROUP BY Col1

  --或者

SELECT DISTINCT Col1,Col2=dbo.F_Str(Col1)
FROM Tab
GO

--運行結果

Col1  Col2

1        a,b,c
2          d,e
3           f

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.