我在数据库中有一个名为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的记录。
Select *
From YourTable
Where charindex('-126-','-'+shop_id+'-')>0
你的问题不是很清楚,但我认为你的意思是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'
请记住,这不是一个好的数据库设计。