MySQL 自定义函数

在 MySQL 中,可以通过创建自定义函数来扩展 SQL 的功能。自定义函数可以像 MySQL 自带的函数一样被调用,并且可以在 SELECT、WHERE、HAVING 和 ORDER BY 等语句中使用。以下是创建和使用自定义函数的示例:

创建一个计算两个数之和的函数:

CREATE FUNCTION add_two_numbers(x INT, y INT)
RETURNS INT
BEGIN
  RETURN x + y;
END

使用函数计算两个数之和:

SELECT add_two_numbers(1, 2);

创建一个计算字符串长度的函数:

CREATE FUNCTION string_length(str VARCHAR(255))
RETURNS INT
BEGIN
  DECLARE len INT;
  SET len = LENGTH(str);
  RETURN len;
END

使用函数计算字符串长度:

SELECT string_length('Hello, world!');

删除函数:

DROP FUNCTION add_two_numbers;
DROP FUNCTION string_length;

注意,自定义函数只能在当前数据库中使用,不能跨数据库使用。另外,自定义函数的创建和删除需要具有 CREATE ROUTINE 和 DROP ROUTINE 权限。