2010-07-30 38 views
0

我得到數據,如如何獲取逗號分隔字符串中的多列數據?

Result 
------ 
10 
23 
21 

但我想在下面的格式來獲取數據。

Result 
------ 
10, 23, 21 

如何在查詢中獲取? 預先感謝任何幫助:)

+1

對不起,我忘了告訴我,我想要做到這一點,而不使用任何存儲過程。 – 2010-07-30 13:34:38

+0

如何做到這一點像這樣的多列http://stackoverflow.com/questions/10037777/send-dbmail-from-sql-server-2000-with-tabular-structured-data – Zeus 2012-04-06 05:15:28

回答

1

這裏有一種方法, 存在具有與數據類型爲nvarchar的(50)studentName列學生表,則下面的查詢會給你的學生姓名爲逗號分隔值,

DECLARE @VALUES NVARCHAR(1000) 
SELECT @VALUES = COALESCE(@VALUES + ',','') + CAST(STUDENTNAME AS NVARCHAR(50)) FROM STUDENT 
SELECT @VALUES 
3

示例代碼不使用存儲過程:) ...

USE AdventureWorks 
GO 
-- Check Table Column 
SELECT Name 
FROM HumanResources.Shift 
GO 
-- Get CSV values 
SELECT SUBSTRING(
(SELECT ',' + s.Name 
FROM HumanResources.Shift s 
ORDER BY s.Name 
FOR XML PATH('')),2,200000) AS CSV 
GO 

更多在這裏:

SQL SERVER – Comma Separated Values (CSV) from Table Column

編輯:

對於SQL-Server 2000,看看這裏:

How to Format Query Result as Comma Separated Values (CSV)

+3

我認爲XML PATH不支持SQL Server 2000 :( – 2010-07-30 13:43:25

+0

你是對的,它不支持。http://www.mssqltips.com/tip.asp?tip=1077。對於SQL-Server 2000,請參閱已編輯的答案 – 2010-07-30 13:54:02

相關問題