SQL Server 2008 - 我想将四列连接成分隔值,但我希望它们按字母顺序排序。这可能吗?
**更新:**更多信息...这将通过 SSIS 在 ETL 作业中每天用于大约 700k-1M 行。如果在 SSIS 中有更简单的方法,请告诉我(脚本任务等)。它也可以在存储过程中完成。
另请记住,这些可以为 NULL - 这会导致其中一些解决方案出现一些问题。
最佳答案
Unpivot将列转换为行,然后对行进行排序。使用任何row string concatenation technique你喜欢的,比如 FOR XML 技巧:
with cte as (
select *
from (values ('A' ,'C', 'B' ,'D')) as T (c1, c2, c3, c4))
select Value + ',' as [*]
from cte
unpivot (Value for c in (c1, c2, c3, c4)) as u
order by Value
for xml path('')
关于sql-server - 我可以对 sql 中的串联结果进行排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3215885/