从列中搜索确切的字符串

问题描述 投票:0回答:2

我在数据库中有一个名为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的记录。

sql .net vb.net
2个回答
2
投票
Select *
 From  YourTable 
 Where charindex('-126-','-'+shop_id+'-')>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'

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

© www.soinside.com 2019 - 2024. All rights reserved.