首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEXP_REPLACE函数在MariaDB中不存在

问REGEXP_REPLACE函数在MariaDB中不存在
EN

Stack Overflow用户
提问于 2016-11-14 14:17:40
回答 2查看 5K关注 0票数 1

我使用的是生产服务器下的MariaDB服务器版本5.5

在本地,我使用的是MariaDB 10.1

现在我尝试在本地使用REGEXP_REPLACE函数--它运行良好,但是当我过去在生产服务器中使用时,我得到了REGEXP_REPLACE函数不存在错误

然后,我知道REGEXP_REPLACE函数只支持MariaDB 10.0.5和更高版本。

有没有办法达到5.5版本下的REGEXP_REPLACE功能?

EN

回答 2

Stack Overflow用户

发布于 2016-11-14 14:30:51

我认为在5.5中没有任何选择!

但是,您可以检查从5.5升级到10所需的步骤。

另一个不推荐的选项是在sql中搜索regex并在应用程序代码中执行regex替换。

票数 1
EN

Stack Overflow用户

发布于 2016-11-18 12:32:52

是的,您可以使用用户定义的函数(或者,简称UDF )来实现这一点。不过,您需要熟悉C/C++开发。您编译一个共享库/ DLL,将其放到插件目录中,执行CREATE函数.myfunc.so,而您扩展了MySQL。

https://dev.mysql.com/doc/refman/5.6/en/adding-udf.html提供了对这个过程的描述,源代码中有一些UDF的示例,例如这里的example.c

当然,只有在不容易用SQL编写具有相同功能的存储函数(在本例中是正确的)的情况下,这才是合适的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40590852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档