MySQL 函数概述
MySQL 函数分为内置函数和用户自定义函数(UDF)。内置函数包括数学、字符串、日期、聚合等函数,用户自定义函数可以通过 C/C++ 编写扩展。
常用内置函数分类
数学函数
ABS(x) -- 绝对值
CEIL(x) -- 向上取整
FLOOR(x) -- 向下取整
ROUND(x, d) -- 四舍五入保留d位小数
RAND() -- 0到1的随机数
字符串函数
CONCAT(s1, s2) -- 字符串连接
SUBSTR(s, n, l) -- 从s的第n位截取l长度
UPPER(s) -- 转大写
LOWER(s) -- 转小写
LENGTH(s) -- 字符串长度
日期时间函数
NOW() -- 当前日期时间
CURDATE() -- 当前日期
DATE_FORMAT(d, f) -- 格式化日期
DATEDIFF(d1, d2) -- 日期差值
DATE_ADD(d, INTERVAL n TYPE) -- 日期加减
聚合函数
COUNT() -- 计数
SUM() -- 求和
AVG() -- 平均值
MAX() -- 最大值
MIN() -- 最小值
用户自定义函数
创建自定义函数需要使用 CREATE FUNCTION
语句:
CREATE FUNCTION function_name(parameters)
RETURNS return_type
BEGIN
-- 函数体
RETURN value;
END;
函数示例
计算阶乘的存储函数:
CREATE FUNCTION factorial(n INT)
RETURNS INT
BEGIN
DECLARE result INT DEFAULT 1;
DECLARE i INT DEFAULT 1;
WHILE i <= n DO
SET result = result * i;
SET i = i + 1;
END WHILE;
RETURN result;
END;
调用自定义函数:
SELECT factorial(5); -- 返回120
注意事项
函数必须有返回值 函数中可以包含复杂的逻辑和流程控制 函数名不要与内置函数冲突 函数通常用于计算和返回单个值
如果您希望支持我创作更多类似内容,可以点击下面的打赏功能,谢谢。