频道栏目
首页 > 数据库 > MySQL > 正文
mysql自定义函数实现字符串匹配
2013-09-06 15:19:33           
收藏   我要投稿

mysql自定义函数实现字符串匹配
 

先来一个截图:

fSearch函数的第一个参数为单一字符串(即 没有特殊字符串隔开)

fSearch函数的第一个参数非单一字符串

多个字符串同样可以匹配。

 

函数代码:

01
DELIMITER $$
02
Create   function fSearch(targetStr VARCHAR(100),findStr VARCHAR(100)) RETURNS INT
03
BEGIN
04
DECLARE strNum INT;
05
DECLARE cIndex INT DEFAULT 1;
06
DECLARE cStr VARCHAR(50);
07
DECLARE flag INT;
08
set strNum=1+(length(targetStr) - length(replace(targetStr,',','')));
09
WHILE cIndex<=strNum
10
DO
11
set cStr=reverse(substring_index(reverse(substring_index(targetStr,',',cIndex)),',',1));
12
set flag=LOCATE(cStr,findStr);
13
if (flag>0&&cStr!='') THEN
14
RETURN flag;
15
END IF;
16
set cIndex=cIndex+1;
17
END WHILE;
18
RETURN 0;
19
END $$
20
DELIMITER ;

 

 

使用场景:

加入博客系统中有个字段 存储文章所属的标签,假设标签为‘java,php,asp,web开发’ ,此时如果想通过该标签找到具有同类标签的文章 则可:

select *from blog b where fSearch('java,php,asp,web开发',b.tags)>0

 


点击复制链接 与好友分享!回本站首页
相关TAG标签 字符串 函数
上一篇:MySQL生产库Insert了2次同样的记录但是主键ID是不一样的问题的分析过程
下一篇:数据库变量查询字符串转换
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站