SQL模糊查询数组问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:16:09
表里有一字段tags值为 A|B|C 这种格式,现有一变量aa值为 A|C|F,我想从表里查询出字段tags含有 A|C|F 中任意一值 A 或 C 或 F 的所有记录。怎么实现,最好给出SQL语句,谢了!
like '%A%' or like '%C%' or like '%F%' 像这种不行

假设 tab1中 有 id 及 tags 字段

创建一个临时表,temptab 字段 有 originalID , context

写一个函数 ,
StringToTable
按照 “|”分割

把 tab1 表中所有的记录 分拆掉 例如把字段内容“A|B|C ”分拆成3条记录
分别是 id,A;id,B;id,C

id 字段内容为原“A|B|C ”的id

保存在temptab 中 其中 originalID 字段 为id; context 内容为A .....

select distinct originalID from temptab where context = 'A' or

context = 'C ' or context = 'F' 就能把 tab1 中的所符合记录的ID 全找出来了

================================================

我是菜鸟 没理解1楼写的意思,能解释一下吗?

说个思路

先把你的变量aa(A|C|F)分成单独的A,C,F,再用LIKE语句
select * from 表 where tags like '%A%' or like '%C%' or like '%F%'

select * from 表 where tags like '%A%' or like '%C%' or like '%F%'

select * from tags where '|'+@aa+'|' like '%|'+col+'|%'