MySQL 默认值
MySQL 存储过程 

MySQL 函数

在 MySQL 中,函数(Functions)是一种用于执行特定任务的命名的、可重复使用的代码块。MySQL 提供了许多内置函数,用于执行各种操作,例如数学计算、字符串操作、日期处理等。除了内置函数,MySQL还支持用户定义函数(User-Defined Functions, UDF),允许开发者根据需要编写自定义函数。


内置函数示例

以下是一些常用的 MySQL 内置函数及其用法示例:

1、数学函数

  • ABS(x):返回x的绝对值。

SELECT ABS(-3); -- 结果为 3
  • ROUND(x, d):返回x的四舍五入值,d是小数点右侧的位数。

SELECT ROUND(3.1415, 2); -- 结果为 3.14


2、字符串函数

  • CONCAT(str1, str2, ...):连接字符串。

SELECT CONCAT('Hello', ' ', 'World'); -- 结果为 'Hello World'
  • SUBSTRING(str, start, length):返回从字符串str中从start位置开始的长度为length的子字符串。

SELECT SUBSTRING('MySQL Functions', 7, 9); -- 结果为 'Functions'


3、日期和时间函数

  • NOW():返回当前日期和时间。

SELECT NOW(); -- 返回当前日期和时间,如 '2021-08-01 9:00:00'
  • DATE_FORMAT(date, format):返回一个格式化的日期/时间字符串。

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 结果为 '2021-08-01'


聚合函数

  • COUNT(expr):返回匹配指定条件的行数。

SELECT COUNT(*) FROM users; -- 返回用户表中的行数
  • SUM(expr):返回指定列的总和。

SELECT SUM(salary) FROM teachers; -- 返回所有教师薪资的总和
  • AVG(expr):返回指定列的总和。

SELECT AVG(salary) FROM teachers; -- 返回所有教师的平均薪资


用户定义函数(UDF)

MySQL 允许开发者编写自定义函数,以便满足特定的业务需求。自定义函数可以在 SQL 查询中像内置函数一样使用,例如:

CREATE FUNCTION my_function(param1 INT, param2 INT)
RETURNS INT
BEGIN
    DECLARE result INT;
    -- 自定义逻辑
    SET result = param1 * param2;
    RETURN result;
END;

调用自定义函数

SELECT my_function(2, 3); -- 返回 6(2 * 3)


总结

MySQL 提供了丰富的内置函数来处理各种数据操作需求,包括数学运算、字符串处理、日期时间操作等。此外,开发者还可以利用用户定义函数(UDF)扩展 MySQL 的功能,使其更加适应特定的业务场景和数据处理需求。通过合理利用函数,可以简化 SQL 查询和数据处理的复杂度,提高数据库应用的效率和灵活性。