在 MySQL 数据库中,函数是执行特定操作并返回结果的一段代码。熟练掌握常见的函数可以大大提高我们对数据的处理能力和查询效率。下面就为大家介绍一些 MySQL 中常见的函数
一、数学函数
- ABS(x):返回 x 的绝对值。
-
- 示例:SELECT ABS(-5); 结果为 5
- CEIL(x):向上取整,返回大于等于 x 的最小整数。
-
- 示例:SELECT CEIL(3.1); 结果为 4
- FLOOR(x):向下取整,返回小于等于 x 的最大整数。
-
- 示例:SELECT FLOOR(3.9); 结果为 3
- RAND():返回一个 0 到 1 之间的随机浮点数。
-
- 示例:SELECT RAND(); 每次结果都不同
- ROUND(x, d):对 x 进行四舍五入,保留 d 位小数。
-
- 示例:SELECT ROUND(3.14159, 2); 结果为 3.14
二、字符串函数
- CONCAT(s1, s2,...):连接多个字符串。
-
- 示例:SELECT CONCAT('Hello', ', 'World'); 结果为 Hello World
- SUBSTRING(s, start, length):从字符串 s 中提取子串,从 start 位置开始,长度为 length 。
-
- 示例:SELECT SUBSTRING('HelloWorld', 6, 5); 结果为 World
- TRIM(s):去除字符串 s 两端的空格。
-
- 示例:SELECT TRIM(' Hello '); 结果为 Hello
- LOWER(s):将字符串 s 转换为小写。
-
- 示例:SELECT LOWER('HELLO'); 结果为 hello
- UPPER(s):将字符串 s 转换为大写。
-
- 示例:SELECT UPPER('hello'); 结果为 HELLO
三、日期时间函数
- NOW():返回当前的日期和时间。
-
- 示例:SELECT NOW(); 结果为当前的具体时间,如 2024-07-30 15:30:00
- DATE_FORMAT(date, format):按照指定的格式对日期进行格式化输出。
-
- 示例:SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); 结果为 2024-07-30
- YEAR(date):返回日期中的年份。
-
- 示例:SELECT YEAR(NOW()); 结果为 2024
- MONTH(date):返回日期中的月份。
-
- 示例:SELECT MONTH(NOW()); 结果为 7
- DAY(date):返回日期中的日。
-
- 示例:SELECT DAY(NOW()); 结果为 30
四、条件判断函数
- IF(expr1, expr2, expr3):如果 expr1 为真(非零、非 NULL),则返回 expr2 ;否则返回 expr3 。
-
- 示例:SELECT IF(5 > 3, 'Yes', 'No'); 结果为 Yes
- CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2... ELSE default_result END:根据不同的条件返回不同的结果。
-
- 示例:
SELECT
CASE WHEN 5 > 3 THEN 'Greater'
WHEN 5 < 3 THEN 'Less'
ELSE 'Equal' END;
结果为
Greater
五、聚合函数
- COUNT(*):计算行数。
-
- 示例:SELECT COUNT(*) FROM your_table; 返回表中的总行数。
- SUM(column_name):计算指定列的总和。
-
- 示例:SELECT SUM(sales) FROM your_table; 计算 sales 列的总和。
- AVG(column_name):计算指定列的平均值。
-
- 示例:SELECT AVG(price) FROM your_table; 计算 price 列的平均值。
- MIN(column_name):返回指定列的最小值。
-
- 示例:SELECT MIN(age) FROM your_table; 找出 age 列的最小值。
- MAX(column_name):返回指定列的最大值。
-
- 示例:SELECT MAX(salary) FROM your_table; 找出 salary 列的最大值。
MySQL 中的函数丰富多样,这里只是列举了一些常见且实用的函数。在实际的数据库操作中,根据具体的需求选择合适的函数能够极大地提高工作效率和数据处理的准确性。