我得到数据,如如何获取逗号分隔字符串中的多列数据?
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