我的编程空间,编程开发者的网络收藏夹
学习永远不晚

解决低版本mysql不支持REGEXP_REPLACE函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

解决低版本mysql不支持REGEXP_REPLACE函数

1.第一步


-- 1.开启自定义函数
SET GLOBAL log_bin_trust_function_creators=1;
-- 2.如果存在该函数则删除
DROP FUNCTION IF EXISTS fnStripTags;
-- 3.执行自定义函数
DELIMITER |
CREATE FUNCTION fnStripTags( Dirty text(0) )
RETURNS text(0)
DETERMINISTIC 
BEGIN
  DECLARE iStart, iEnd, iLength int;
    WHILE Locate( '<', Dirty ) > 0 And Locate( '>', Dirty, Locate( '<', Dirty )) > 0 DO
      BEGIN
        SET iStart = Locate( '<', Dirty ), iEnd = Locate( '>', Dirty, Locate('<', Dirty ));
        SET iLength = ( iEnd - iStart) + 1;
        IF iLength > 0 THEN
          BEGIN
            SET Dirty = Insert( Dirty, iStart, iLength, '');
          END;
        END IF;
      END;
    END WHILE;
    RETURN Dirty;
END;
|
DELIMITER ;

2.第二步执行sql

SELECT content,del_html( content ) FROM cms_content;
    

 注意:如果执行sql 报错为以下信息

Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation 'like'

可改为一下sql例如:
SELECT  
    *
FROM
    cms_content 
WHERE
     CONVERT(del_html( content ) USING utf8) COLLATE utf8_unicode_ci   LIKE '%4%' 
    

总结:如果使用 函数结果 进行匹配会报 编码和排序规则 不一致 

where  CONVERT(del_html(字段) USING utf8) COLLATE utf8_unicode_ci   LIKE '%4%'   用来解决问题,有更好的解决方式请留言

来源地址:https://blog.csdn.net/qq_37782946/article/details/130849637

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

解决低版本mysql不支持REGEXP_REPLACE函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PHP中mysql_connect()函数不支持怎么解决

本篇内容主要讲解“PHP中mysql_connect()函数不支持怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中mysql_connect()函数不支持怎么解决”吧!方法:1、打
2023-06-29

如何创建 PHP 函数库并使其支持不同的 PHP 版本?

php 函数库可以通过封装常见任务提高代码重用性。要创建支持不同 php 版本的可重用函数库:定义函数库和兼容的 php 版本范围;根据 php 版本处理版本差异;打包函数库供其他项目使用。如何在 PHP 中创建支持不同版本的可重用函数库
如何创建 PHP 函数库并使其支持不同的 PHP 版本?
2024-04-26

如何解决跨版本 PHP 函数不兼容问题?

为了解决 php 中跨版本函数不兼容问题,可以通过使用以下策略:功能检测:检查函数是否可用,提供替代方案。polyfill:提供未实现或不完全实现函数的代码。aliasing:创建旧函数的新名称,指向新函数。版本检查:根据 php 版本执行
如何解决跨版本 PHP 函数不兼容问题?
2024-04-25

DedeCMS不支持PHP5.3、5.4及以上版本后台500错误白屏的解决方法

今天把系统换成了windows server 2008 r2 同时将php环境提升至PHP5.5版本,测试PHPinfo的时候一点问题都没有,但是登陆dede后台却显示500错误,这应该怎么解决呢?百度了一下发现dede不支持PHP5.3、
2022-06-12

如何解决"您的服务器不支持mysql数据库"的问题

本篇内容主要讲解“如何解决"您的服务器不支持mysql数据库"的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决"您的服务器不支持mysql数据库"的问题”吧!解决方法:在配置PHP时
2023-06-13

解决客户端和服务器不支持一般SSL协议版本或加密套件问题

错误信息 详细报错信息如下图 错误原因 这种错误通常表示客户端和服务器之间存在协议版本或加密套件不匹配的情况。在SSL(Secure Socket Layer)连接过程中,客户端和服务器需要协商一种相同的加密协议版本和加密套件,以确保数据
2023-08-18

远程桌面连接问题:出现身份验证错误。要求的函数不受支持错误【已解决】

问题描述: 在使用远程桌面时,出现的错误,原因在于CredSSP加密数据库修正问题,可以通过设置组策略解决问题 远程桌面连接出现身份验证错误。要求的函数不受支持错误 注意: 如果使用注册表编辑器或其他方法修改注册表不当,可能会出现严重
2023-08-18

编程热搜

目录