MySQL内建函数实用指南
mysql常用内建函数

首页 2025-06-13 21:55:42



MySQL常用内建函数详解 MySQL作为一种广泛使用的关系型数据库管理系统,提供了丰富的内建函数来满足用户在不同场景下的数据处理需求

    这些函数涵盖了数学计算、字符串操作、日期时间处理、加密解密、控制流操作等多个方面

    本文将详细介绍MySQL中一些常用的内建函数,帮助用户更好地理解和使用这些功能强大的工具

     一、数学函数 数学函数主要用于数值计算,包括取整、绝对值、四舍五入、随机数生成等

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

     示例:SELECT ABS(-5); 结果为5

     2.CEIL(x) 或 CEILING(x) 功能:返回大于或等于数值x的最小整数

     - 示例:SELECT CEIL(4.2); 结果为5

     3.FLOOR(x) 功能:返回小于或等于数值x的最大整数

     - 示例:SELECT FLOOR(4.8); 结果为4

     4.ROUND(x【,y】) - 功能:返回数值x四舍五入到y位小数的结果

    若省略y,则默认四舍五入到整数

     - 示例:`SELECT ROUND(3.14159, 2);` 结果为3.14

     5.RAND(【seed】) - 功能:生成一个0到1之间的随机浮点数

    若提供seed参数,则每次使用相同seed时生成的随机数相同

     - 示例:SELECT RAND(); 生成一个随机数

     6.MOD(x,y) 功能:返回x除以y的余数

     - 示例:SELECT MOD(10, 3); 结果为1

     7.FORMAT(x,y) - 功能:将数值x格式化为y位小数的字符串形式,支持千分位分隔符

     - 示例:`SELECT FORMAT(1234567.89,2);` 结果为1,234,567.89

     8.- POWER(x,y) 或 POW(x,y) 功能:返回x的y次幂

     - 示例:SELECT POWER(2, 3); 结果为8

     9.SQRT(x) 功能:返回数值x的平方根

     示例:SELECT SQRT(16); 结果为4

     10.TRUNCATE(x,y) 功能:返回数值x截断到y位小数的结果,不进行四舍五入

     - 示例:`SELECT TRUNCATE(3.14159,2);` 结果为3.14

     二、字符串函数 字符串函数用于处理字符串数据,包括拼接、截取、转换大小写、查找子字符串等

     1.CONCAT(s1,s2,...,sn) 功能:将多个字符串拼接成一个字符串

     - 示例:`SELECT CONCAT(Hello, , World);` 结果为Hello World

     2.CONCAT_WS(sep,s1,s2,...,sn) - 功能:使用指定的分隔符sep将多个字符串拼接成一个字符串

     - 示例:`SELECT CONCAT_WS(-, 2025, 06, 13);` 结果为2025-06-13

     3.- SUBSTRING(str,pos【,len】) 或SUBSTR(str,pos【,len】) - 功能:从字符串str的pos位置开始截取长度为len的子字符串

    若省略len,则截取到字符串末尾

     - 示例:`SELECT SUBSTRING(Hello World,7,5);` 结果为World

     4.LEFT(str,len) - 功能:从字符串str的左边开始截取长度为len的子字符串

     - 示例:`SELECT LEFT(Hello World,5);` 结果为Hello

     5.RIGHT(str,len) - 功能:从字符串str的右边开始截取长度为len的子字符串

     - 示例:`SELECT RIGHT(Hello World,5);` 结果为World

     6.TRIM(【【LEADING|TRAILING|BOTH】【remstr】 FROM】 str) - 功能:去除字符串str开头、结尾或两端的空格或指定字符remstr

     - 示例:`SELECT TRIM( Hello World);` 结果为Hello World

     7.LTRIM(str) 功能:去除字符串str开头的空格

     - 示例:`SELECT LTRIM( Hello World);` 结果为Hello World

     8.RTRIM(str) 功能:去除字符串str结尾的空格

     - 示例:`SELECT RTRIM(Hello World);` 结果为Hello World

     9.REPLACE(str,from_str,to_str) - 功能:将字符串str中的子字符串from_str替换为to_str

     - 示例:`SELECT REPLACE(Hello World, World, MySQL);` 结果为Hello MySQL

     10.INSTR(str,substr) - 功能:返回子字符串substr在字符串str中首次出现的位置

    若未找到,则返回0

     - 示例:`SELECT INSTR(Hello World, World);` 结果为7

     11.LENGTH(str) - 功能:返回字符串str的字节长度

    对于多字节字符集(如UTF-8),一个字符可能占用多个字节

     - 示例:SELECT LENGTH(Hello); 结果为5(假设使用单字节字符集)

     12.- CHAR_LENGTH(str) 或 CHARACTER_LENGTH(str) 功能:返回字符串str的字符长度

     - 示例:`SELECT CHAR_LENGTH(Hello);` 结果为5

     13.UPPER(str) 功能:将字符串str转换为大写形式

     - 示例:`SELECT UPPER(Hello World);` 结果为HELLO WORLD

     14.LOWER(str) 功能:将字符串str转换为小写形式

     - 示例:`SELECT LOWER(Hello World);` 结果为hello world

     15.REVERSE(str) 功能:将字符串str的顺序颠倒

     - 示例:`SELECT REVERSE(Hello World);` 结果为dlroW olleH

     三、日期和时间函数 日期和时间函数用于处理日期和时间数据,包括获取当前日期时间、计算日期时间差、格式化日期时间等

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

     - 示例:SELECT NOW(); 结果为当前日期和时间

     2.- CURDATE() 或 CURRENT_DATE() 功能:返回当前的日期

     - 示例:SELECT CURDATE(); 结果为当前日期

     3.- CURTIME() 或 CURRENT_TIME() 功能:返回当前的时间

     - 示例:SELECT CURTIME(); 结果为当前时间

     4.DATE(datetime) 功能:从日期时间值datetime中提取日期部分

     - 示例:`SELECT DATE(2025-06-1312:34:56);` 结果为2025-06-13

     5.TIME(datetime) 功能:从日期时间值datetime中提取时间部分

     - 示例:`SELECT TIME(2025-06-1312:34:56);` 结果为12:34:56

     6.DATE_ADD(date, INTERVAL expr unit) - 功能:在日期date上加上一个时间间隔,expr为时间间隔的值,unit为时间间隔的单位(如DAY、MONTH、YEAR等)

     - 示例:`SELECT DATE_ADD(2025-06-13, INTERVAL1 DAY);` 结果为2025-06-14

     7.DATE_SUB(date, INTERVAL expr unit) - 功能:在日期date上减去一个时间间隔,用法与DATE_ADD相同,但表示减去时间间隔

     - 示例:`SELECT DATE_SUB(2025-06-13, INTERVAL1 DAY);` 结果为2025-06-12

     8.DATEDIFF(date1, date2) - 功能:返回两个日期date1和date2之间的天数差(date1 - date2)

     示例:`SELECT DATEDIFF(2025-

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道