将逗号分隔的字符串转换为带单引号的字符串列表

not*_*lkk 0 t-sql sql-server-2008

我有一个像这样的字符串:

'111,222,333,444'
Run Code Online (Sandbox Code Playgroud)

我要做的就是将其变成这样:

'111','222','333','444'
Run Code Online (Sandbox Code Playgroud)

我可以编写一个将字符串拆分为临时表并遍历每一行以添加引号的函数。但是我真的不想使用游标来执行此操作。有没有更简单的方法?

Joh*_*uet 5

您是否可以仅使用REPLACE将每个替换为','?

假定字符串中包含初始和最终单引号。

REPLACE(TheString,  ',', ''',''')
Run Code Online (Sandbox Code Playgroud)

如果没有,您可以添加它们。

'''' + REPLACE(TheString,  ',', ''',''') + ''''
Run Code Online (Sandbox Code Playgroud)