从列中搜索确切的字符串

时间:2017-12-29 20:50:58

标签: sql .net vb.net

我在数据库中有一个名为contract的表,这个表有名为shop_id的列

shop_id有很多结果,可以是这样的:

132

133-134-135

3126-3127-125

126-127-128

所以我想得到shop_id = 126

的所有数据

所以我正在使用Like%''

但在这种情况下,如果我搜索shop_id = 3126,它将获得信息 因为任何东西都有126像3126或4126这样。

那么如何从此专栏中搜索确切的商店ID 所以,如果我搜索了126,我想获得列中包含精确126的记录。

2 个答案:

答案 0 :(得分:3)

你的问题不是很清楚,但我认为你的意思是shop_id包含多个id

如果我是对的,您需要以下查询:

select *
from contacts
where shop_id like '126-%' 
   or shop_id like '%-126' 
   or shop_id like '%-126-%' 
   or shop_id = '126'

请记住,这不是一个好的数据库设计。

答案 1 :(得分:2)

Select *
 From  YourTable 
 Where charindex('-126-','-'+shop_id+'-')>0