答案让我望而却步……也许是因为这是不可能的……
有效的例子...
SELECT * FROM TABLEA WHERE FIELD1 IN ('aaa','bbb','ccc')
不起作用的例子......
尝试利用变量,以便我可以在一串语句中定义一次值
DECLARE @ListValues VARCHAR(50)
SET @ListValues = '''aaa'',''bbb'',''ccc'''
SELECT * FROM TABLEA WHERE FIELD1 IN (@ListValues)
这显然只是等式的一小部分,还有其他原因......
我无法利用值的表并将其更改为真正的子查询
我能找到的最接近的问题是这个……但显然没有涵盖我的要求……
Storing single quotes in varchar variable SQL Server 2008
提前致谢。
最佳答案
您可以使用动态 SQL 执行此操作:
DECLARE @ListValues VARCHAR(MAX)
,@SQL VARCHAR(MAX)
SELECT @ListValues = '''aaa'',''bbb'',''ccc'''
,@SQL = 'SELECT * FROM TABLEA WHERE FIELD1 IN ('+@ListValues+')'
EXEC (@SQL)
关于sql - 在 SQL WHERE CLAUSE 的变量中使用一串带引号的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23770181/