mysql - 无法让简单的 mysql 函数工作

标签 mysql function

我想在 mysql 中创建一个函数来替换字符串中的 html 实体或其他特殊字符。但我无法让它工作。我是编写函数的新手。

DELIMITER $$
CREATE FUNCTION cleanEntities(s varchar(255))
RETURNS varchar(255)
BEGIN
s = replace(s, '&',char(0x0026 using utf8))
s = replace(s, 'ü', char(0xc3bc using utf8))
RETURN s$$
END
$$

DELIMITER ;

我不得不删除;在错误消息中,因此 & 等未显示为 HTML。

错误信息

#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 '= replace(s, '&amp',char(0x0026 using utf8)) s = replace(s, '&uuml', char(0xc' at line 4

最佳答案

DELIMITER $$
CREATE FUNCTION cleanEntities(s varchar(255))
RETURNS varchar(255)
BEGIN
set s = replace(s, '&',char(0x0026 using utf8));
set s = replace(s, 'ü', char(0xc3bc using utf8));
RETURN s;
END $$


DELIMITER ;

关于mysql - 无法让简单的 mysql 函数工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39610173/

相关文章:

mysql - 1292 截断了不正确的 INTEGER 值

mysql - MySQL中的日期字段,查找所有不重叠的行并仅返回差异

php - 更改我的登录脚本的错误

c++ - 如何将 decltype 与成员函数一起使用

c++ - 将简单的宏作为函数参数传递给 'too few arguments in function call'

javascript - 为什么在数组中使用 javascript 函数不起作用?

mysql - 错误号 : 150 "Foreign key constraint is incorrectly formed - mysql

php - 将 mysqli 转换为 PDO 时出现问题 | PHP 数据库

JavaScript,在不使用 eval 的情况下将私有(private)函数作为公共(public)方法中的字符串调用(显示模式)

c - 如何在用作 tcp 服务器的线程中使用带有函数参数的函数