MySQL中不可不知的常用函数大全

mysql中常用函数有什么

时间:2025-07-30 03:04


MySQL中常用函数:解锁数据处理与分析的强大工具 在数据库管理系统中,MySQL以其高效、灵活和开源的特性,成为众多开发者和数据管理员的首选

    而在MySQL的日常操作中,函数的应用无疑为数据处理和分析提供了强大的工具

    无论是基本的数学计算、字符串操作,还是日期时间处理、聚合分析,MySQL都内置了一系列功能强大的函数

    本文将详细介绍MySQL中常用的几类函数,帮助读者更好地掌握这一数据库系统的数据处理能力

     一、数学函数:精准计算的基础 数学函数在MySQL中扮演着基础而重要的角色,它们允许用户进行各种数值计算,如加法、减法、乘法、除法等基本运算,以及一些更复杂的数学操作,如取整、取余、求平方根等

     1.ABS(x):返回x的绝对值

    在处理财务数据时,确保数值非负是一个常见需求

     sql SELECT ABS(-123);-- 返回123 2.- CEIL(x) 和 CEILING(x):返回大于或等于x的最小整数

    这在需要向上取整的场景中非常有用

     sql SELECT CEIL(4.2);-- 返回5 3.FLOOR(x):返回小于或等于x的最大整数

    适用于需要向下取整的情况

     sql SELECT FLOOR(4.8);-- 返回4 4.ROUND(x【,d】):返回x四舍五入到d位小数的结果

    如果不指定d,则默认四舍五入到整数

     sql SELECT ROUND(4.5678,2);-- 返回4.57 5.TRUNCATE(x, d):返回x截断到d位小数的结果,不进行四舍五入

     sql SELECT TRUNCATE(4.5678,2);-- 返回4.56 6.MOD(x, y):返回x除以y的余数

    这在循环计算或分组操作中非常有用

     sql SELECT MOD(10,3);-- 返回1 7.- POWER(x, y) 或 POW(x, y):返回x的y次幂

    适用于需要指数运算的场合

     sql SELECT POWER(2,3);-- 返回8 8.RAND():返回一个0到1之间的随机数

    在随机抽样或生成测试数据时非常有用

     sql SELECT RAND();-- 返回类似0.123456789 的随机数 二、字符串函数:灵活处理文本数据 字符串函数在MySQL中同样不可或缺,它们允许用户对文本数据进行各种操作,如拼接、截取、替换、转换大小写等

     1.CONCAT(str1, str2, ...):将多个字符串连接成一个字符串

     sql SELECT CONCAT(Hello, , World);-- 返回 Hello World 2.- SUBSTRING(str, pos, len) 或SUBSTR(str, pos, len):从字符串str的pos位置开始,截取长度为len的子字符串

     sql SELECT SUBSTRING(Hello World,7,5);-- 返回 World 3.REPLACE(str, from_str, to_str):将字符串str中的所有from_str替换为to_str

     sql SELECT REPLACE(Hello World, World, MySQL);-- 返回 Hello MySQL 4.- UPPER(str) 和 LOWER(str):将字符串str转换为大写或小写

     sql SELECT UPPER(Hello World);-- 返回 HELLO WORLD SELECT LOWER(HELLO WORLD);-- 返回 hello world 5.- LEFT(str, len) 和 RIGHT(str, len):分别返回字符串str的左len个字符和右len个字符

     sql SELECT LEFT(Hello World,5);-- 返回 Hello SELECT RIGHT(Hello World,5);-- 返回 World 6.- LENGTH(str) 和 CHAR_LENGTH(str):分别返回字符串str的字节长度和字符长度

    对于多字节字符集(如UTF-8),这两个函数的结果可能不同

     sql SELECT LENGTH(Hello);-- 返回5(假设字符集为单字节) SELECT CHAR_LENGTH(你好);-- 返回2(假设字符集为UTF-8) 7.TRIM(【【LEADING | TRAILING | BOTH】【remstr】 FROM】 str):去除字符串str开头、结尾或两端的空格或指定字符remstr

     sql SELECT TRIM(Hello World);-- 返回 Hello World SELECT TRIM(BOTH x FROM xxxHello Worldxxx);-- 返回 Hello World 三、日期和时间函数:高效管理时间数据 日期和时间函数在MySQL中用于处理和操作日期和时间值,包括获取当前日期和时间、计算日期和时间差、格式化日期和时间等

     1.NOW():返回当前的日期和时间

     sql SELECT NOW();-- 返回类似 2023-10-0514:30:00 的值 2.- CURDATE() 和 CURRENT_DATE():返回当前的日期

     sql SELECT CURDATE();-- 返回类似 2023-10-05 的值 3.- CURTIME() 和 CURRENT_TIME():返回当前的时间

     sql SELECT CURTIME();-- 返回类似 14:30:00 的值 4.DATE(date):从日期时间值date中提取日期部分

     sql SELECT DATE(2023-10-0514:30:00);-- 返回 2023-10-05 5.TIME(time):从日期时间值time中提取时间部分

     sql SELECT TIME(2023-10-0514:30:00);-- 返回 14:30:00 6.DATEDIFF(date1, date2):返回date1和date2之间的天数差

     sql SELECT DATEDIFF(2023-10-05, 2023-10-01);-- 返回4 7.TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2):返回datetime_expr1和datetime_expr2之间指定单位unit的差异

    unit可以是SECOND、MINUTE、HOUR、DAY等

     sql SELECT TIMESTAMPDIFF(DAY, 2023-10-01, 2023-10-05);-- 返回4 8.DATE_ADD(date, INTERVAL expr unit- ) 和 DATE_SUB(date, INTERVAL expr unit):分别向日期date添加或减去一个时间间隔

    unit可以是YEAR、MONTH、DAY等

     sql SELECT DATE_ADD(2023-10-05, INTERVAL7 DAY);-- 返回 2023-10-12 SELECT DATE_SUB(2023-10-05, INTERVAL3 DAY);-- 返回 2023-10-02 四、聚合函数:深入分析数据的关键 聚合函数在MySQL中用于对一组值执行计算,并返回单个值

    它们常用于数据分析和报表生成

     1.COUNT(expr):返回非NULL值的数量

     sql SELECT COUNT- () FROM employees; -- 返回表中行的总数 2.SUM(expr):返回指定列值的总和

     sql SELECT SUM(salary) FROM employees;-- 返回所有员工的工资总和 3.AVG(expr):返回指定列值的平均值

     sql SELECT AVG(salary) FROM employees;-- 返回所有员工工资的平均值 4.- MAX(expr) 和 MIN(expr):分别返回指定列值的最大值和最小值

     sql SELECT MAX(salary) FROM employees;-- 返回最高工资 SELECT MIN(salary) FROM employees;-- 返回最低工资 5.GROUP_CONCAT(expr):返回