函数是 MySQL 中非常重要的一类能力。它可以对数据进行计算、转换、格式化、判断或获取系统信息,从而让 SQL 不只是“查数据”,还能在查询过程中直接处理数据。
MySQL 函数大致可以分为以下几类:
- 数学函数:用于数值计算,例如绝对值、随机数、平方根
- 字符串函数:用于处理文本,例如拼接、替换、查找、比较
- 日期时间函数:用于处理日期和时间,例如获取当前时间、格式化日期
- 条件判断函数:用于根据条件返回不同结果
- 系统信息函数:用于获取数据库版本、用户名、字符集等信息
- 加密函数:用于哈希、编码、解码等操作
例如下面这些都属于函数调用:
SELECT ABS(-10);
SELECT CONCAT('My', 'SQL');
SELECT NOW();
SELECT IF(1 > 0, 'yes', 'no');函数的返回值可以是数字、字符串、日期,或者逻辑判断结果。
函数最常见的使用方式是直接写在 SELECT 语句中:
SELECT NOW();
SELECT PI();
SELECT UPPER('mysql');也可以对表中的字段使用函数:
SELECT name, CHAR_LENGTH(name) AS name_len
FROM user;还可以在条件中使用:
SELECT *
FROM article
WHERE YEAR(created_at) = 2026;以及在排序、分组、更新语句中使用:
SELECT DATE_FORMAT(created_at, '%Y-%m') AS month_name, COUNT(*)
FROM orders
GROUP BY DATE_FORMAT(created_at, '%Y-%m');使用函数时需要注意:
- 函数名后面必须带括号。
- 不同函数需要的参数个数和参数类型不同。
- 对索引字段直接套函数时,可能影响索引使用。
- 某些函数会返回
NULL,需要留意空值处理。
函数让 SQL 具备了更强的数据处理能力。掌握常用函数后,很多原本需要在程序里做的计算、格式化和判断,都可以直接在 MySQL 中完成。