1.第一步 -- 1.开启自定义函数 SET GLOBAL log_bin_trust_function_creators=1; -- 2.如果存在该函数则删除 DROP FUNCTION IF EXISTS fnStripTag
-- 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 ;
SELECT content,del_html( content ) FROM cms_content;
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
--结束END--
本文标题: 解决低版本mysql不支持REGEXP_REPLACE函数
本文链接: https://lsjlt.com/news/405736.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0