我的表格包含以下数据
COLA
-------------------------
今天是星期日
你好,你好吗?
你好,我是bharadwaj
嗨,我很好
帮帮我
我需要输出如下
COLA
-------------------------
星期天是今天
你是多么喜欢
Bharadwaj我是你好的
很好,我喜欢
我的帮助
答案 0 :(得分:0)
如果你有一个字符串拆分器,这不是太糟糕。我喜欢this one,特别是为了这个目的。获取您发布的数据需要另一列主键。然后你可以完全基于这个设置,不需要循环,就像在复制中提出的答案一样。
这看起来很像家庭作业,但在星期五这也是一个有趣的挑战,所以我决定把东西放在一起。
declare @Something table
(
SomeValue varchar(50)
, SomeKey int identity
)
insert @Something
select 'Today is sunday' union all
select 'Hi how are you' union all
select 'Hello i am bharadwaj' union all
select 'Hi i am fine' union all
select 'Help me out';
with ParsedWords as
(
select SomeKey
, Item
, x.ItemNumber
from @Something
cross apply dbo.DelimitedSplit8K(SomeValue, ' ') x
)
, ReversedWords as
(
select SomeKey
, LOWER(STUFF((select ' ' + p2.Item
from ParsedWords p2
where p2.SomeKey = p.SomeKey
order by p2.ItemNumber desc
for XML PATH('')), 1, 1, '')) as Reversed
from ParsedWords p
group by p.SomeKey
)
select UPPER(LEFT(Reversed, 1)) + LOWER(SUBSTRING(Reversed, 2, len(Reversed)))
from ReversedWords rw
order by rw.SomeKey