sql判断字符是否在字符串中,字符串用,隔开,要循环判断的

来源:百度知道 编辑:UC知道 时间:2024/06/11 05:26:54
我有个字符aa 有个表tablename 有一列中的字段是 aa,bb,cc,ss
怎么样用sql语句判断,注意了要循环的,别aa好用,在判断bb的时候就不好用了,先谢谢各位大哥,大姐了.数据库中的记录是这样的
MID MName ISDel
1 aa,bb,cc 0,0,0
2 bb,ss 1,0
3 aa,cc,ss 1,0,1
看aa是否在MName中并且看aa对应的ISDel的值是否是1
现在的主要问题是怎么判断aa对应的isdel是1,mname有几个isdel就有几个

你是想判断字段MName中包含几个aa字符吧?
如果是的话比较简单的方法是将aa去掉,然后根据去掉aa后的长度比原来长度少几位就能判断去掉了几个aa,从而知道包含几个aa。
如下
select (len(replace(MName,' ','#'))-len(replace(replace(MName ,' ','#'),'aa','')))/2 as 数量
from tablename
查询语句里将空格替换为#,是为了防止当字段后边包含空格时影响计算的准确性。

select * from tablename where
mname like '%aa%' and isdel=1

select * from tablename where
mname like '%bb%' and isdel=1