函数是 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 中完成。