У меня есть хранимая процедура, которая принимает в качестве параметра список значений, которые нужно включить в запрос. Например NY, NJ, CT, PA
Функция в SQL Server 2008 для размещения одинарных кавычек вокруг каждого элемента списка
В моем динамическом запросе SQL в хранимой процедуре, я хочу, чтобы выбрать записи
WHERE state IN ('NY', 'NJ', 'CT', 'PA').
Если я использую параметр, как он попадает в СП, я буду делать
WHERE state IN 'NY, NJ, CT, PA'.
Поэтому мне нужно преобразовать
'NY, NJ, CT, PA'
к
('NY','NJ','CT','PA').
Есть ли функция для этого?
Спасибо!
Эй, я думаю, Кевин указал в правильном направлении. Все, что мне нужно сделать, это:
WHERE state IN REPLACE(('NY, NJ, CT, PA'), ',' , ''',''')
Или, так как я на самом деле есть в переменной ...
WHERE state IN REPLACE ((@StateList), ',' , ''',''')
http://www.codeproject.com/Articles/5986/Passing-a-Comma-Delimited-Parameter-to-a-Stored-Pr – JonH
Вы говорите свой динамический запрос? так что 'WHERE state in ..' и т. д. в строке уже? –
У вас есть контроль над тем, как данные передаются в сохраненный процесс? – bendataclear