| |
 |
|
 |
 |
|
 |
[原创]一个简单的判断子串个数的函数
|
|
|
MySQL本身没有判断子串个数的函数。 所以我写了一个,以备参考。 函数体如下: DELIMITER $$
DROP FUNCTION IF EXISTS `test`.`func_get_string_count`$$
CREATE FUNCTION `test`.`func_get_string_count`(
f_str varchar(8000), f_substr varchar(255))
RETURNS int
BEGIN
-- Created by david yeung 20080226.
declare total int default 0;
declare remain_str varchar(8000) default '';
set remain_str = f_str;
while instr(remain_str,f_substr) > 0
do
set total = total + 1;
set remain_str = substring(remain_str,instr(remain_str,f_substr) + char_length(f_substr));
end while;
return total;
END$$
DELIMITER ;
调用结果: select func_get_string_count('I love you love,""&&&& I love, I hate, love love love','love') as substr_count;
query result(1 records)
不过你可以完全用系统提供的函数来组合。 看看例子: set @str = 'I love you love,""&&&& I love, I hate, love love love';
set @sub_str = 'love';
select ceiling((char_length(@str) - char_length(replace(@str,@sub_str,'')))/char_length(@sub_str)) as substr_count;
结果:
query result(1 records)
|
|
|
发表于: 2008-02-26,修改于: 2008-04-02 18:02,已浏览516次,有评论3条
推荐
投诉
|
|
 |
|
 |
|  |
|
 |
 |
|
 |
网友评论
 |
|
 |
 |
网友:
本站网友 | 时间:2008-04-01 13:05:15 IP地址:219.143.46.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
本站网友 | 时间:2008-05-08 17:27:07 IP地址:124.207.200.★ |
|
|
|
|
|
|
 |
|
 |
|  |
|
 |
|