将文本分隔的逗号分配给(IN SQL)

时间:2015-02-27 10:44:36

标签: sql tsql

我想将此文本分隔的逗号分配给IN。你知道怎么做吗?

DECLARE @TESTTEXT varchar(200)

SET @TESTTEXT = '101,103,104'

SELECT 1 WHERE '101' IN (@TESTTEXT)

enter image description here

2 个答案:

答案 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有其他表示法?