MySQL 5.7 中没有 regexp_replace 函数,但是可以通过创建自定义函数来实现。

以下是创建自定义函数的步骤:

  1. 创建函数

首先,使用 CREATE FUNCTION 语句创建自定义函数,指定函数名、参数和返回值类型。下面是一个示例:

CREATE FUNCTION regexp_replace (str TEXT, pattern TEXT, replacement TEXT)
RETURNS TEXT
BEGIN
    DECLARE result TEXT;
    SET result = str;
    WHILE (result REGEXP pattern) DO
        SET result = REGEXP_REPLACE(result, pattern, replacement);
    END WHILE;
    RETURN result;
END;

这个函数使用了 WHILE 循环和 REGEXP_REPLACE 函数来实现替换。循环条件为字符串中仍然存在匹配模式的部分,每次循环使用 REGEXP_REPLACE 函数替换一个匹配部分。

  1. 测试函数

使用 SELECT 语句测试函数是否能够正确工作。下面是一个示例:

SELECT regexp_replace('hello world', 'l', '*');

这个语句将会输出 "he**o wor*d"。

现在您已经成功创建了一个自定义函数来实现 MySQL 8.0 中的 regexp_replace 函数

mysql57 创建自定义函数实现MySQL80 中regexp_replace函数

原文地址: https://www.cveoy.top/t/topic/fk0c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录