我想将此文本分隔的逗号分配给IN。你知道怎么做吗?
DECLARE @TESTTEXT varchar(200)
SET @TESTTEXT = '101,103,104'
SELECT 1 WHERE '101' IN (@TESTTEXT)
答案 0 :(得分:3)
使用动态SQL
DECLARE @TESTTEXT varchar(200)
SET @TESTTEXT = '101,103,104'
exec('SELECT 1 WHERE ''101'' IN ( ' + @TESTTEXT + ')')
答案 1 :(得分:2)
使用LIKE:
select 1 where ',' || @TESTTEXT || ',' like '%,101,%'
额外的逗号用于处理列表中的第一个和最后一个项目。
||
是concat
的ANSI SQL,也许tsql有其他表示法?