我有一个逗号分隔数字的字符串,我正在尝试检查其中是否存在数字。这是代码:
Declare @a varchar(10)='0'
Declare @b varchar(10)='1,2,3'
If(CHARINDEX(@a,@b))
Print 'a'
此代码的错误是,如果有一个数字' 10'在字符串@b中它返回true。
答案 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'