我有一个参数@Tag nvarchar(max)
进入我的存储过程,如'(15000338, 15000339)'
。它只能带有一个值或两个或多个值。
如何将此转换为('15000338','15000339')
?
我尝试过使用替换但我无法达到我需要的最终结果。
答案 0 :(得分:1)
REPLACE(REPLACE(REPLACE(REPLACE(@Tag,' ',''),'''(','('''),')''',''')'),',',''', ''')
我相信会做你想做的事情,但我再次担心,根据你所做的事情,你可能会受到SQL注入攻击的攻击。</ p>
答案 1 :(得分:1)
您可以使用替换:
DECLARE @s NVARCHAR(max) = '(15000338, 15000339)'
SELECT @s = REPLACE(REPLACE(REPLACE(REPLACE(@s, ' ', ''), '(', '('''), ')', ''')'), ',', ''',''')
输出:
('15000338',' 15000339')