字段由多个值拼接组成,多条件无法查询

w_hair 2016-04-11 05:04:05
字段值如图:

sql 条件 major 同时可能有1,2或者1,6等不同组合,不知道怎么查询

...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
spiritofdragon 2016-04-11
  • 打赏
  • 举报
回复
我能说,人家major 是以|开头的,大家好像都没看见。。。 这种查询关键就是拼串而已。 只要拼出下面结果就对了。 select * from where major+'|' like '%|1|%' and major+'|' like '%|6|%'
唐诗三百首 2016-04-11
  • 打赏
  • 举报
回复
查询Major含有2的,

select * from [表名]
  where charindex('|'+'2'+'|', '|'+Major+'|', 1)>0
查询Major同时含有1和2的,

select * from [表名]
  where charindex('|'+'1'+'|', '|'+Major+'|', 1)>0 and charindex('|'+'2'+'|', '|'+Major+'|', 1)>0
中国风 2016-04-11
  • 打赏
  • 举报
回复
实现可把条件拆成一个结果集,再用条件去查
中国风 2016-04-11
  • 打赏
  • 举报
回复
select * from where '|'+major+'|' like '%|1|%' and '|'+major+'|' like '%|6|%'

22,210

社区成员

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

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