sql判断字符是否在字符串中,字符串用,隔开

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:41:54
我有个字符aa 有个表tablename 有一列中的字段是 aa,bb,cc,ss
怎么样用sql语句判断 aa是否在数据库中,如果在显示出本条语句
aa,bb,cc是记录,我想判断逗号,判断出几条记录,然后在循环与aa对比,看看aa是否在本条记录了

数据库中的记录是这样的
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

if exists(select 1 from table where aa='aa' ) or
exists(select 1 from table where bb='aa' ) or
exists(select 1 from table where cc='aa' )
print 'exists aa'
else
print 'Not exists aa'

判断是否有逗号用charindex()
逐条记录处理可以用游标
具体自己去 baidu & google,你很懒很固执

select * from table where left(MName,charindex(',',MName)-1) ='aa' and left(ISDel,charindex(',',ISDel)-1) ='1'

select * from tablename where 字段名 in ('aa')
这个就是用到了in关键字,同样的还有not in关键字查询的便是不包含某字符串的结果。
如果需要判断是否在,如果在(或者不在)需要返回值的话,用is null关键字加一个判断,判断一下就可以了。

aa,bb,cc,ss是记录还是字段名?