
这些函数涵盖了数学计算、字符串操作、日期时间处理、加密解密、控制流操作等多个方面
本文将详细介绍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内建函数实用指南
Win7电脑游戏文件备份全攻略
掌握Net Core 3连接MySQL数据库,构建高效Web应用指南
MySQL循环操作表数据技巧揭秘
如何轻松修改备份文件后缀名
MySQL管理:如何高效使用KILL命令
MySQL数据库数据同步实战指南
掌握Net Core 3连接MySQL数据库,构建高效Web应用指南
MySQL循环操作表数据技巧揭秘
MySQL管理:如何高效使用KILL命令
MySQL登录失败原因大揭秘
MySQL数据表zerofill技巧解析
MySQL数据库内存占用过高?揭秘原因与解决方案!
如何轻松确认MySQL主从同步状态
MySQL主键:打造高效数据检索的基石
MySQL表中存储中文数据的技巧
MySQL存储日期:如何去除时分秒
利用USBWebServer轻松连接并管理MySQL数据库指南