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