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这个字段有存在着的,但是旁边有没有其他符号,或者空格这些我都不确定,但是我都要查出来. 展开
我上面那个只是一个错误的列子,我想要实现的sql 语句是:
条件id可能是a,bc id=ab,c id=ab c id=a?bc 等等 很多很多
但是我想要把这些查出来该怎么查,用%不行的,我只是想要匹配abc和空格和有标点符号的
也就是我只确定有abc这个字段有存在着的,但是旁边有没有其他符号,或者空格这些我都不确定,但是我都要查出来. 展开
3个回答
展开全部
--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]%'
展开全部
可以用下划线阿亲。a,bc ==>a_bc ; ab c ==>ab_c ; 一个下划线代替一个字。
追问
也就是我只确定有abc这个字段有存在着的,但是旁边有没有其他符号,或者空格这些我都不确定,但是我都要查出来,旁边有字的都不用查出来,是这个意思.
追答
那不就是%a%b%c%?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用多个 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%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询