Sql server 如何反转列中的单词
我的表包含如下数据 可乐 ------------- 今天是星期天 你好 你好,我是巴拉德瓦 嗨,我很好 帮帮我 我需要如下输出 可乐 ------------- 星期天就是今天 你好吗 巴拉德瓦:我是哈罗吗 很好,你好吗Sql server 如何反转列中的单词,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我的表包含如下数据 可乐 ------------- 今天是星期天 你好 你好,我是巴拉德瓦 嗨,我很好 帮帮我 我需要如下输出 可乐 ------------- 星期天就是今天 你好吗 巴拉德瓦:我是哈罗吗 很好,你好吗 Out me help如果您有一个字符串拆分器,这还不错。我喜欢,尤其是为了这个目的。获取发布的数据时,需要另一列作为主键。然后,您可以完全基于集合进行此操作,不需要像建议的答案中的重复那样进行循环 这看起来很像家庭作业,但在周五也是一个有趣的挑战,所以我决定一起做些事情 d
Out me help如果您有一个字符串拆分器,这还不错。我喜欢,尤其是为了这个目的。获取发布的数据时,需要另一列作为主键。然后,您可以完全基于集合进行此操作,不需要像建议的答案中的重复那样进行循环 这看起来很像家庭作业,但在周五也是一个有趣的挑战,所以我决定一起做些事情
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
您尝试了什么?您的示例似乎是反转字符串中以空格分隔的单词,而不是表中的行。你需要自己做作业