4
A
回答
6
我已经成功创建一个函数使用像下面这样的Coalesce来做到这一点。然后,您可以在您的select语句中使用该函数来获取分隔字符串。 (您可以将参数添加到您的函数,并根据需要在聚结SELECT语句中使用它们。)
CREATE FUNCTION [dbo].[fn_MyFunction]
(
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @str NVARCHAR(MAX)
DECLARE @Delimiter CHAR(2)
SET @Delimiter = ', '
SELECT @str = COALESCE(@str + @Delimiter,'') + AColumn
FROM dbo.myTable
RETURN RTRIM(LTRIM(@str))
END
4
COALESCE是要做到这一点
http://msdn.microsoft.com/en-us/library/ms190349.aspx
DECLARE @Out VARCHAR(2048)
Select @Out = COALESCE(@Out + ', ', '') + [YourColumn] from YourTable
print @Out
4
select stuff((select ',' + YourColumn
from YourTable
for xml path('')), 1, 1, '')
注意体面的方式:STUFF函数只是删除从结果字符串中的第一个逗号。
相关问题
- 1. 在sql server中将数据从多个记录转换为单个记录
- 2. 如何将逗号分隔的NVARCHAR转换为SQL Server 2005中的表记录?
- 3. 如何将CSV转换为T-SQL中的记录集?
- 4. 将SQL Server转换为Oracle
- 5. 将ORA_HASH转换为SQL Server
- 6. 如何将JSP标记转换为SQL
- 7. 如何将SQL Server 2005 .mdf转换为SQL Server CE .sdf?
- 8. 如何将SQL Server 2008 R2数据库转换为SQL Server 2012?
- 9. 如何将SQL Server 2008 .mdf文件转换为SQL Server 2012?
- 10. 如何将SQL时间记录转换为秒?
- 11. 如何将Sql文本转换为SQL Server中的sql_handle
- 12. 在SQL Server中将INT转换为BIGINT
- 13. 在SQL Server中将varchar转换为datetime
- 14. 在SQL Server中将varchar转换为datetime
- 15. 将SQL Server 2012转换为SQL Azure
- 16. 将PL-SQL转换为SQL Server
- 17. 将行转换为列SQL Server,T-SQL
- 18. SQL Server:将varchar转换为具有无效记录的时间(秒写为60)
- 19. 如何将以下代码转换为SQL Server/T-SQL CTE?
- 20. 如何将行转换为SQL Server中的列?
- 21. 如何将varchar转换为在SQL Server中浮动?
- 22. 如何在SQL Server 2014中将整数列转换为varchar?
- 23. 如何将mdb转换为SQL Server 2000中的mdf数据库
- 24. 如何将SQL Server中的秒转换为小时
- 25. 如何将列名转换为SQL Server中的结果值?
- 26. 如何将行值转换为sql server 2005中的列
- 27. 我如何将行转换为sql server 2005中的列
- 28. SQL Server中如何将15000000.00转换为15,000,000?
- 29. 如何将十进制转换为科学SQL Server 2008 R2中
- 30. 如何在sql server 2008中将行值转换为列?
我知道我可以使用游标要做到这一点,但我想知道是否有不同的方式。 – 2011-01-12 16:03:16
这是否必须在sql级别完成,或者您是否可以通过编程方式在消费端处理此问题? – RQDQ 2011-01-12 16:06:35