【问题标题】:Stored MySQL Function to Count String Occurances用于计算字符串出现次数的存储 MySQL 函数
【发布时间】:2012-11-29 15:54:09
【问题描述】:

之前没有做过很多 MySQL 函数……所以,我希望让我的函数计算下面大海捞针的数量。我不断得到:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7

与“RETURN”对应的那一行是我所拥有的:

DELIMITER $$

CREATE FUNCTION `str_count`(needle TEXT, haystack TEXT) 
RETURNS INT(5)
BEGIN

  RETURN (LENGTH(haystack) - LENGTH(REPLACE(haystack, needle, ""))) / LENGTH(needle);

END$$

以前从来没有做过这种功能,所以非常感谢任何帮助!

提前致谢!

【问题讨论】:

  • 对我来说非常好
  • 你能用例子解释一下问题吗
  • 我希望以下工作:str_count("ab","abcdeabcabab") 返回 4。基本上是 us2.php.net/substr_count 的 MySQL 版本
  • 天哪,你是对的@tomborn!出于某种原因,我的 MySQL 界面给我带来了麻烦。不过我会留下这篇文章,因为我一直无法在网上任何地方找到具有此功能的地方。再次感谢!
  • 使用 LENGTH(REPLACE(LOWER(haystack), LOWER(needle), "")) 替换不区分大小写

标签: mysql sql function count user-defined-functions


【解决方案1】:

嗯,我觉得很傻。运行这类东西时,请确保在 SQL 文本区域下方的 phpMyAdmin 文本框中定义分隔符……在我的例子中是“$$”,但现在效果很好!

【讨论】:

    猜你喜欢
    • 2012-12-18
    • 2022-01-17
    • 2012-06-24
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多