首页 > 解决方案 > MSSQL - 如何从一个字符串中按字母顺序选择单词

问题描述

例如,我在 database: 中有以下字符串'test data',但我需要以输出按字母顺序排列的方式选择它,如下所示:'data test'

标签: sqlsql-server

解决方案


感谢您的评论。我设法弄清楚什么对我有用。如果其他人看起来类似,那么我使用了以下方法:

select abc=STUFF((
select ' ' + b.n 
from (
    select ROW_NUMBER() OVER(order by n asc) as rn, n 
    from (
        select RIGHT('test data', LEN('test data') - CHARINDEX(' ', 'test data')) as n
        union all
        select LEFT('test data',  CHARINDEX(' ', 'test data')) as f
        ) a
     ) b order by rn asc
for xml path('')),1,1,'')

推荐阅读