SQLServer数据截取

qq_25084377 2017-03-16 10:56:46


定义一个变量A

变量A的值是‘172.11.11.11’

现在有一个表 Table 表中有ID 和B字段,

如果现在B中的字段有‘172.11.11.11|172.28.28.28’ 或者‘192.28.28.28’这样的字段

我需要判断这个A的值是否包含于B的值中,并拿到B对应的ID值,如何操作
...全文
248 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
顾西昂 2017-03-16
  • 打赏
  • 举报
回复
用楼上的#2的吧 我看错 我以为是两个表
顾西昂 2017-03-16
  • 打赏
  • 举报
回复

select id from b inner  join a on B like '%'+A+'%' 
试试看 这方法就是使用 like 粗暴的解决方法
二月十六 2017-03-16
  • 打赏
  • 举报
回复
select ID from table where B like '%'+A+'%'
qq_25084377 2017-03-16
  • 打赏
  • 举报
回复
麻烦各位大神搭把手!谢谢各位!
qq_25084377 2017-03-16
  • 打赏
  • 举报
回复
谢谢各位大哥的帮忙!辛苦你们了! 6#的办法完美解决我的问题!辛苦大家了
gw6328 2017-03-16
  • 打赏
  • 举报
回复
6#这样,因为如果不这样,可能ip为192.168.1.1 里面存的是192.168.1.11|xxx ,所以都加上|再来比较。
唐诗三百首 2017-03-16
  • 打赏
  • 举报
回复

declare @A varchar(100)

select @A='172.11.11.11'


select ID
 from [Table]
 where B like '%'+@A+'%'
Mirror然 2017-03-16
  • 打赏
  • 举报
回复

;with temp(id,B) as (
select 1,'172.11.11.11|172.28.28.28' union all
select 2,'192.28.28.28'
) 
select * from temp where CHARINDEX('172.11.11.11',B)>0 
0与1之间 2017-03-16
  • 打赏
  • 举报
回复
select id from tab where charindex(A,B)>0
卖水果的net 2017-03-16
  • 打赏
  • 举报
回复
SELECT * FROM B WHERE '|' + B.LL + '|' LIKE '%|'+@A+'|%'
  • 打赏
  • 举报
回复
SELECT * FROM B WHERE B.LL LIKE '%'+@A+'%' 也可以 写个简单的存储过程

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧