转换参数格式

时间:2015-04-23 16:39:41

标签: sql-server-2012

我有一个参数@Tag nvarchar(max)进入我的存储过程,如'(15000338, 15000339)'。它只能带有一个值或两个或多个值。

如何将此转换为('15000338','15000339')? 我尝试过使用替换但我无法达到我需要的最终结果。

2 个答案:

答案 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')