弘帝企业智能建站系统交流平台

 找回密码
 立即注册
查看: 2756|回复: 0

Sql判断以逗号分隔的字符串中是否包含某个字符串

[复制链接]
发表于 2019-11-26 12:40:41 | 显示全部楼层 |阅读模式
sql语句中,以逗号分隔的字符串中是否包含某个特定字符串,类似于判断一个数组中是否包含某一个元素,例如:判断 ’a,b,c,d,e,f,g‘ 中是否包含 'a',sql语句如何实现?

mysql:
mysql中有一个方法 FIND_IN_SET(ele, str),str是一个以逗号分隔的字符串,ele是一个特定字符串,该方法表示判断str中是否包含ele。

sqlserver:
sqlserver中没有封装好的方法可以实现该功能,可以通过 CHARINDEX(','+ ele +','  ,  ','+str+',') 来实现,str是一个以逗号分隔的字符串,ele是一个特定字符串,该方法表示判断str中是否包含ele,若值大于0,则表示包含,否则不包含。
这里通常会有一个误区:通过使用%模糊匹配来判断,举个该方法不成立的例子,若使用模糊匹配判断 'b,ab,aba,bc,c' 中是否包含字符串 'a',得到的结果是包含,但实际答案是否定的。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|弘帝企业智能建站系统 ( 皖ICP备07503252号 )

GMT+8, 2024-11-24 00:26 , Processed in 0.045779 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表