我得到數據,如如何獲取逗號分隔字符串中的多列數據?
Result
------
10
23
21
但我想在下面的格式來獲取數據。
Result
------
10, 23, 21
如何在查詢中獲取? 預先感謝任何幫助:)
我得到數據,如如何獲取逗號分隔字符串中的多列數據?
Result
------
10
23
21
但我想在下面的格式來獲取數據。
Result
------
10, 23, 21
如何在查詢中獲取? 預先感謝任何幫助:)
這裏有一種方法, 存在具有與數據類型爲nvarchar的(50)studentName列學生表,則下面的查詢會給你的學生姓名爲逗號分隔值,
DECLARE @VALUES NVARCHAR(1000)
SELECT @VALUES = COALESCE(@VALUES + ',','') + CAST(STUDENTNAME AS NVARCHAR(50)) FROM STUDENT
SELECT @VALUES
示例代碼不使用存儲過程:) ...
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,看看這裏:
我認爲XML PATH不支持SQL Server 2000 :( – 2010-07-30 13:43:25
你是對的,它不支持。http://www.mssqltips.com/tip.asp?tip=1077。對於SQL-Server 2000,請參閱已編輯的答案 – 2010-07-30 13:54:02
在PostgreSQL:
SELECT COMPANY_ID,array_to_string(ARRAY_AGG(員工), '') FROM mytable GROUP BY company_id;
從 How to concatenate strings of a string field in a PostgreSQL 'group by' query?
問題已標記' sql-server-2000',所以PostgreSQL方法將不起作用(除非它們比這個更通用/標準,你應該編輯或刪除這個答案。 – 2010-07-30 15:18:07
對不起,我忘了告訴我,我想要做到這一點,而不使用任何存儲過程。 – 2010-07-30 13:34:38
如何做到這一點像這樣的多列http://stackoverflow.com/questions/10037777/send-dbmail-from-sql-server-2000-with-tabular-structured-data – Zeus 2012-04-06 05:15:28