我有一个条件,用户将传递逗号分隔值,如
0071061386,0071061387
它将传递给一个变量,该变量将值提供给带有两个单引号的动态查询。
由用户传递
declare @s nvarchar(max) = '0071061386,0071061387'
它应该像转换用户值后一样,以便我可以将值传递给动态查询
declare @s nvarchar(max) = '''0071061386'',''0071061387'''
答案 0 :(得分:1)
一个简单的替换可能在这里做的伎俩,但我相信这是一个XYProblem。也许你最好先解释导致你走这条路的问题。
declare @s nvarchar(max) = '0071061386,0071061387'
SELECT '''''' + REPLACE(@s, ',', ''''',''''') + ''''''
结果:
''0071061386'',''0071061387''
答案 1 :(得分:0)
试试这个
DECLARE @S NVARCHAR(MAX) = '0071061386,0071061387'
SELECT REPLACE(''''''''+@S+'''''''',',',''''',''''')