MySQL常用函数速览与应用指南

mysql常见函数及其用法

时间:2025-07-22 01:00


MySQL常见函数及其用法详解 MySQL,作为一种广泛使用的关系型数据库管理系统,提供了丰富的内置函数,这些函数极大地增强了数据操作和查询的灵活性和效率

    无论是进行简单的数据检索、复杂的数据分析,还是数据清洗和转换,MySQL函数都能提供强有力的支持

    本文将详细介绍MySQL中一些常见的函数及其用法,帮助读者更好地掌握这一强大的工具

     一、字符串函数 字符串函数是MySQL中最基础也最常用的函数之一,它们主要用于字符串的拼接、截取、转换等操作

     1.CONCAT() CONCAT函数用于将多个字符串连接成一个字符串

    例如: sql SELECT CONCAT(Hello, , World) AS result; 输出结果为:`Hello World`

    这个函数在生成完整的地址、姓名等字段时非常有用

     2.SUBSTRING() SUBSTRING函数用于从字符串中截取特定部分

    语法为:`SUBSTRING(str, pos, len)`,其中`str`是要截取的字符串,`pos`是起始位置,`len`是截取的长度

    例如: sql SELECT SUBSTRING(Hello World,7,5) AS result; 输出结果为:`World`

    这个函数在解析日志文件、提取特定格式的数据时非常有用

     3.LENGTH() LENGTH函数返回字符串的字节长度

    例如: sql SELECT LENGTH(Hello World) AS result; 输出结果为:`11`

    这个函数在检查字符串长度、数据校验时非常有用

     4.UPPER() 和 LOWER() UPPER和LOWER函数分别用于将字符串转换为大写和小写

    例如: sql SELECT UPPER(hello world) AS upper_result, LOWER(HELLO WORLD) AS lower_result; 输出结果为:`HELLO WORLD`和`hello world`

    这两个函数在用户输入或数据导入时统一字符串格式时非常有用

     5.LPAD() 和 RPAD() LPAD和RPAD函数分别用于用指定的字符串对原字符串的左边和右边进行填充,以达到指定的长度

    例如: sql SELECT LPAD(123,5, 0) AS left_padded, RPAD(123,5, 0) AS right_padded; 输出结果为:`00123`和`12300`

    这两个函数在格式化数据、生成固定长度的字符串时非常有用

     二、数值函数 数值函数主要用于对数字进行各种数学运算,如取绝对值、四舍五入、取整等

     1.ABS() ABS函数返回数字的绝对值

    例如: sql SELECT ABS(-10) AS result; 输出结果为:`10`

    这个函数在处理负数、计算距离或差值时非常有用

     2.ROUND() ROUND函数将数字四舍五入到指定的小数位数

    语法为:`ROUND(num, decimals)`,其中`num`是要四舍五入的数字,`decimals`是指定的小数位数

    例如: sql SELECT ROUND(123.456,2) AS result; 输出结果为:`123.46`

    这个函数在财务计算、需要保留小数位的场景时非常有用

     3.CEIL() 和 FLOOR() CEIL和FLOOR函数分别用于向上取整和向下取整

    例如: sql SELECT CEIL(123.456) AS ceil_result, FLOOR(123.456) AS floor_result; 输出结果为:`124`和`123`

    这两个函数在分页计算、资源分配等需要向上或向下取整的场景时非常有用

     4.MOD() MOD函数返回两个数相除的余数

    例如: sql SELECT MOD(10,3) AS result; 输出结果为:`1`

    这个函数在计算周期性数据、判断奇偶性时非常有用

     5.RAND() RAND函数返回一个0到1之间的随机数

    例如: sql SELECT RAND() AS random_number; 输出结果为:一个0到1之间的随机数

    这个函数在生成随机验证码、随机抽样等场景时非常有用

     三、日期和时间函数 日期和时间函数主要用于获取当前日期和时间、格式化日期和时间、计算日期和时间差等

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

    例如: sql SELECT NOW() AS current_time; 输出结果为:当前的日期和时间

    这个函数在记录操作时间、日志表或用户操作记录中非常有用

     2.DATE_FORMAT() DATE_FORMAT函数将日期格式化为指定的格式

    语法为:`DATE_FORMAT(date, format)`,其中`date`是要格式化的日期,`format`是指定的格式字符串

    例如: sql SELECT DATE_FORMAT(NOW(), %Y-%m-%d %H:%i:%s) AS formatted_date; 输出结果为:当前日期和时间,格式为`YYYY-MM-DD HH:MM:SS`

    这个函数在显示或导出数据、生成用户友好的日期时间格式时非常有用

     3.DATEDIFF() DATEDIFF函数返回两个日期之间的天数差

    例如: sql SELECT DATEDIFF(2025-07-25, 2025-07-22) AS days_diff; 输出结果为:`3`

    这个函数在计算两个日期之间的天数差、用户注册天数等场景时非常有用

     4.CURDATE() 和 CURTIME() CURDATE和CURTIME函数分别返回当前的日期和时间(不包括时间部分)

    例如: sql SELECT CURDATE() AS current_date, CURTIME() AS current_time; 输出结果为:当前的日期和时间(不包括时间部分)

    这两个函数在只需要日期或时间的场景时非常有用

     四、聚合函数 聚合函数主要用于对一组值进行计算,并返回一个单一的值,如计数、求和、求平均等

     1.COUNT() COUNT函数返回满足条件的行数

    例如: sql SELECT COUNT() AS total_count FROM users; 输出结果为:`users`表中的总行数

    这个函数在统计用户数量、订单数量等场景时非常有用

     2.SUM() SUM函数返回数值列的总和

    例如: sql SELECT SUM(amount) AS total_amount FROM orders; 输出结果为:`orders`表中`amount`列的总和

    这个函数在计算订单总金额、销售额等场景时非常有用

     3.AVG() AVG函数返回数值列的平均值

    例如: sql SELECT AVG(score) AS average_score FROM students; 输出结果为:`students`表中`score`列的平均值

    这个函数在计算平均成绩、平均销售额等场景时非常有用

     五、条件函数 条件函数用于根据条件返回不同的结果

     1.IF() IF函数用于简单的条件判断

    语法为:`IF(condition, true_result, false_result)`,其中`condition`是条件表达式,`true