Sql server 2005 SQL,删除逗号分隔列表末尾的逗号外观

Sql server 2005 SQL,删除逗号分隔列表末尾的逗号外观,sql-server-2005,Sql Server 2005,在SQL查询中,如何从逗号分隔的列表中删除最后一个逗号 我做了一个示例,其中我得到一个逗号分隔的字符串作为输出。但我发现字符串结束后会出现逗号。我试着把它修剪一下,但没能修好。有人能帮我把它弄下来吗 生成的字符串如下所示 一些文字,一些更多的文字,甚至更多,更多 Update MyTable Set MyField = Case When Right(MyField,1) = ',' Then Substring( MyField, 1, Len(MyField)

在SQL查询中,如何从逗号分隔的列表中删除最后一个逗号

我做了一个示例,其中我得到一个逗号分隔的字符串作为输出。但我发现字符串结束后会出现逗号。我试着把它修剪一下,但没能修好。有人能帮我把它弄下来吗

生成的字符串如下所示

一些文字,一些更多的文字,甚至更多,更多

Update MyTable
Set MyField = Case
                When Right(MyField,1) = ',' Then Substring( MyField, 1, Len(MyField) - 1 )
                Else MyField
                End
顺便说一句,另一种选择:

Update MyTable
Set MyField =  Substring( MyField, 1, Len(MyField) - 1 )
Where Value Like '%,'

测试脚本:

Declare @TestValues Table ( Value nvarchar(100) not null )

Insert @TestValues(Value) Values( 'XYZZY' )
Insert @TestValues(Value) Values( 'PLUGH' )
Insert @TestValues(Value) Values( 'SpiffyValueWithComma,' )

Select Case
        When Right(Value,1) = ',' Then Substring( Value, 1, Len(Value) - 1 )
        Else Value
        End
From @TestValues
结果:

XYZZY PLUGH SpiffyValueWithComma
如果您需要进一步的帮助,您应该提供进一步的信息。

@Febin-如果这不起作用,那么您的数据就有问题。你能提供一些示例输入,特别是上面假设返回错误结果的输入吗?-我已经测试了你的测试脚本。很好,谢谢你的回答。但我很困惑,因为在我的strored过程中,我返回的值是逗号分隔列表。我只想删除列表中的最后一个逗号,所以这里不需要任何表格。我该怎么修呢out@Febin-是否为正值尾随值仅为逗号,而不是逗号和空格?我更新了我的答案来处理这个场景。
Update MyTable
Set MyField = Substring( MyField, 1, Len(MyField) - 1 )
Where Value Like '%,'
    Or Value Like '%, '
DECLARE @my_string nvarchar(128)
SET @my_string = N'Some Text, Some More Text, Even More, Yet More,'

select SUBSTRING(@my_string, 1, LEN(@my_string) - 1)