sql 模糊查询 不包括标点符号和空格

例如:select*fromtablewhereidlike'%abc%'我上面那个只是一个错误的列子,我想要实现的sql语句是:条件id可能是a,bcid=ab,cid... 例如:select *from table where id like '%abc%'
我上面那个只是一个错误的列子,我想要实现的sql 语句是:
条件id可能是a,bc id=ab,c id=ab c id=a?bc 等等 很多很多

但是我想要把这些查出来该怎么查,用%不行的,我只是想要匹配abc和空格和有标点符号的
也就是我只确定有abc这个字段有存在着的,但是旁边有没有其他符号,或者空格这些我都不确定,但是我都要查出来.
展开
 我来答
mvs2008
推荐于2016-03-09 · TA获得超过611个赞
知道小有建树答主
回答量:693
采纳率:50%
帮助的人:398万
展开全部
--oracle sql
select * from table_name
minus
select * from table_name 
where instr(lower(value),'bc')>0 
and regexp_like(replace(lower(value),'bc'),'^([a-z])');

以上代码加了lower就不区分大小写了,你根据自己情况来选择吧。

更多追问追答
追问
不是oracle啊,是sql server啊

也就是我只确定有abc这个字段有存在着的,但是旁边有没有其他符号,或者空格这些我都不确定,但是我都要查出来.
追答
--SQL Server
select * from table_name
except
select * from table_name 
where charindex(lower(value),'bc')>0 
and replace(lower(value),'bc') like '%[a-z]%'
在往上爬的曹森
2015-02-09 · TA获得超过973个赞
知道小有建树答主
回答量:1156
采纳率:0%
帮助的人:861万
展开全部
可以用下划线阿亲。a,bc ==>a_bc ; ab c ==>ab_c ; 一个下划线代替一个字。
追问
也就是我只确定有abc这个字段有存在着的,但是旁边有没有其他符号,或者空格这些我都不确定,但是我都要查出来,旁边有字的都不用查出来,是这个意思.
追答
那不就是%a%b%c%?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友501642c
2015-02-09 · TA获得超过790个赞
知道小有建树答主
回答量:779
采纳率:100%
帮助的人:421万
展开全部
用多个 like 与连接试过没/
更多追问追答
追问
你不会告诉我这样吧?
select *from table where id like ',abc%' like 'a,bc'??????

类似这样?这怎么可能,要写的累死啊,也就是有没有什么函数之类的?
追答
select *from table where id like '%a%' and  id like '%b%' and  id like '%c%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式