MYSQL语句,如果想搜索一个字段是不是包含某字符串应该怎么写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL语句,如果想搜索一个字段是不是包含某字符串应该怎么写相关的知识,希望对你有一定的参考价值。
比如,字段A中有字符串“AAA,BBB,CCC”,这实际是我多个字符串的合集,用逗号分隔的,现在我要查其中是否包含了BBB,应该怎么做。
附加一个问题,如果查到有BBB,我想从中删除BBB,变成“AAA,CCC”,又该怎么做?
附加问题回答了可以附加30分。
like '%BBB%' 我想过,但是有问题,比如我字段值是1,2,11,12,我想从里面查询是否存在单独的1,如果用like就可能把11和12也弄进来。同样问题2用replace也有可能造成同样问题
update table set A=replace('BBB' , '' , A) where A like '%BBB%' and 条件;
哦。。
这样的话就么法了,只能取出来,分割成数组在做判断喽 参考技术A --查询BBB
select * from tbName where A like '%BBB%';
--删除BBB
update tbName
set A=replace(A,'BBB,','')
where A like '%BBB%'; 参考技术B 条件换成where ','+A like '%,1,%'就应该没问题
where一个字段中不存在某个字符,怎么写mysql判断语句
mysql中,要加个判断语句,
表 A 字段B
如何找出字段B没有包含[kid]或者[/kid]的数据
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式
not like 即表示不包含某条件
例子:
Persons 表:
Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
选取居住在不包含 "lon" 的城市里的人
SELECT * FROM Persons WHERE City NOT LIKE '%lon%'
结果集:
Id LastName FirstName Address City
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing 参考技术A MYSQL不是SQLServer,MYSQL要使用LOCATE()或 INSTR()函数。
SELECT * FROM A WHERE LOCATE('[kid]',B)=0 and LOCATE('[/kid]',B)=0
--或者
SELECT * FROM A WHERE INSTR(B,'[kid]')=0 and INSTR(B,'[/kid]')=0
参考资料:http://www.phpv.net/html/1443.html
参考技术B select * from A where B not like '%[[]KID[]]%' and B not like '%[[]/KID[]]%'追问[] 这是什么字符,为什么要出现这个字符
追答以为你的查询内容包括了 中括号字符 ,所以用 [] 把所有的中括号字符括起来了,你测测试试,我只是写了,但是没测
追问查询的字符是 [/kid]和[/kide] 的确有中括号
追答结果对不对?
本回答被提问者采纳 参考技术C !=not in
not like
<> 参考技术D 同上,可以用like
或者用函数,substring,charindex。。等等
以上是关于MYSQL语句,如果想搜索一个字段是不是包含某字符串应该怎么写的主要内容,如果未能解决你的问题,请参考以下文章