如何在SQL Server中将字符串中的最后一个逗号替换为“and”

3

仅仅想知道,在SQL Server中,如何将字符串中的最后一个逗号替换为“and”。

我有以下变量:

@test = 'a,b,c,f,w'

我该如何将字符串中的最后一个逗号替换为“and”作为输出结果呢?
'a,b,c,f and w' 

1
有很多方法可以做到这一点(例如,一种方法是反转字符串,用“ dna”替换第一个逗号,然后再次反转字符串),但你尝试过什么? - ZLK
2个回答

1
这很奇怪。你可以这样做:

set @test = left(@test, len(@test) - charindex(',', reverse(@test))) + ' and ' + stuff(@test, 1, len(@test) - charindex(',', reverse(@test)) + 1, '')

0

另一种实现方式:

SELECT reverse(STUFF(reverse(@test), CHARINDEX(',', reverse(@test)), 1, ' dna '))

这假设在最后一个逗号之后总是只有一个字符。 - Pரதீப்
是的,你说得对,谢谢,我已经修改了查询。 - Md. Suman Kabir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接