Я бег несколько запросов, которые используют список значений символов в выражении WHERE, например,Создать строку с вложенными кавычками в SQL
select *
from table1
where col1 in ('a','b','c')
Список символов часто меняется, поэтому я хочу, чтобы сохранить строку в переменную и ссылаться на переменную во всех запросах, а не на сохранение нескольких копий строки. Я пробовал следующее, но запрос возвращает нулевые строки.
declare @str varchar(50)
select @str = '''a''' + ',' + '''b'''+ ',' + '''c'''
select *
from table1
where col1 in (@str)
@str имеет значение 'A', 'B', 'C', но по какой-то причине, SQL Server не распознает его. Как создать строку и сохранить ее в переменной, которая работает с ключевым словом?
, что это/результат: «a», «b», «c» - один и только один varchar, а не 3 – Fredou
возможный дубликат [Параметризация предложения SQL IN] (http://stackoverflow.com/questions/337704/parameterize -a-sql-in-clause) – Dai