在逗号分隔的字符串SQL中查找数字

时间:2016-10-14 07:46:03

标签: sql

我有一个逗号分隔数字的字符串,我正在尝试检查其中是否存在数字。这是代码:

Declare @a varchar(10)='0'
Declare @b varchar(10)='1,2,3'
If(CHARINDEX(@a,@b))
Print 'a'

此代码的错误是,如果有一个数字' 10'在字符串@b中它返回true。

2 个答案:

答案 0 :(得分:0)

您可以使用LIKE运算符

Declare @a varchar(10)='0'
Declare @b varchar(10)='1,2,3'

if exists (select 1 where ',' + @b + ',' like '%,' + @a + ',%')
print 'exist'
else 
print 'does not exist'

此处捕获在源和搜索字符串

之前和之后附加逗号

答案 1 :(得分:0)

Declare @a varchar(10)='0'
Declare @b varchar(10)='1,2,3'
If(CHARINDEX(','+@a+',',','+@b+','))>0
Print 'a'