
这些函数涵盖了数值计算、字符串操作、日期时间处理、聚合分析以及条件判断等多个方面
掌握这些常用函数,能够显著提升数据库操作的灵活性和效率
以下是对MySQL中一些核心常用函数的详细解析
一、数值函数 数值函数主要用于处理数字类型的数据,包括整型和浮点型等,常见的数值函数有: - ABS(x):返回数值x的绝对值
无论输入的数值是正数还是负数,ABS函数都会返回其非负的绝对值
例如,SELECT ABS(-5)将返回5
- MOD(x,y):返回数值x除以数值y后的余数
与x%y的结果相同
当除数和被除数任何一个为NULL时,返回结果也将为NULL;除数为0时将是非法运算,返回结果为NULL
- CEIL(x)或CEILING(x):返回大于或等于数值x的最小整数值
例如,SELECT CEILING(4.1)将返回5
- FLOOR(x):返回小于或等于数值x的最大整数值
例如,SELECT FLOOR(4.9)将返回4
- RAND():返回0到1之间的随机数
该函数不需要参数,且每次执行时返回的值都是随机的
例如,SELECT RAND()可能会返回0.63782307378745
- ROUND(x【,d】):对数值x执行四舍五入操作
当函数格式为ROUND(x)时,返回值为整数;当函数格式为ROUND(x,y)时,对数值x进行四舍五入并保留小数点后y位
例如,SELECT ROUND(4.6)会返回5,SELECT ROUND(4.123,2)会返回4.12
- TRUNCATE(x,y):返回数值x保留到小数点后y位的值
与ROUND函数不同的是,TRUNCATE函数在截取值时不会进行四舍五入
例如,SELECT TRUNCATE(2.1234567,3)会返回2.123
- SQRT(x):返回数值x的平方根
如果x为负数,则返回NULL
例如,SELECT SQRT(16)会返回4
EXP(x):返回e的x次方
- LOG(base,x):返回以base为底的对数
POW(x,y):返回x的y次方
- SIGN(x):返回x的符号值,x是负数、0、正数时分别返回-1、0和1
- GREATEST(expr1,expr2,...):返回列表中的最大值
- LEAST(expr1,expr2,...):返回列表中的最小值
二、字符串函数 字符串函数主要用于处理表中的字符串数据,常见的字符串函数有: - CONCAT(s1,s2,...):将多个字符串连接成一个字符串
如果参数中有一个NULL值,则返回结果也将为NULL
例如,SELECT CONCAT(Hello, ,World)会返回Hello World
- CONCAT_WS(x,s1,s2,...):是CONCAT函数的特殊形式,以第一个参数x为分隔符,连接后面的多个字符串
例如,SELECT CONCAT_WS(-,2025,07,21)会返回2025-07-21
- SUBSTRING(s,start【,length】)或MID(s,n,len):从字符串s中提取子字符串
start表示子字符串的起始位置(从1开始计数),length表示子字符串的长度
如果省略length,则默认提取到字符串的末尾
例如,SELECT SUBSTRING(Hello World,1,5)会返回Hello
- LEFT(s,n):返回字符串s中前n个字符
例如,SELECT LEFT(hello,2)会返回he
- RIGHT(s,n):返回字符串s中后n个字符
- REPLACE(s,s1,s2):将字符串s中的子串s1替换为s2
例如,SELECT REPLACE(Hello World,World,MySQL)会返回Hello MySQL
- INSERT(str,x,y,instr):将字符串str从第x位置开始,y个字符长的子串替换为字符串instr
- UPPER(s)或UCASE(s):将字符串s中的所有字母转换为大写字母
例如,SELECT UPPER(hello world)会返回HELLO WORLD
- LOWER(s)或LCASE(s):将字符串s中的所有字母转换为小写字母
例如,SELECT LOWER(HELLO WORLD)会返回hello world
- LENGTH(s):返回字符串s的字节长度
一个汉字占用2个字节,一个英文字符和数字占用1个字节
- CHAR_LENGTH(s):返回字符串s的字符长度
- TRIM(s):删除字符串s开头和结尾的空格,也可以删除字符串两侧的指定字符
LTRIM(s):删除字符串s开头的空格
RTRIM(s):删除字符串s结尾的空格
- LPAD(str1,n,str2):使用字符串str2对字符串str1最左边进行填充,直到字符串str1总长度达到n个字符长度
如果str1的字符长度大于或等于n,则不填充
- RPAD(str1,n,str2):使用字符串str2对字符串str1最右边进行填充
- REPEAT(s,n):返回字符串s重复n次的结果
- LOCATE(s1,s)或POSITION(s1,s):返回子串s1在字符串s中的开始位置
返回值的最小值为1,如果字符串s中不包含字符串s1,则返回0
也可以使用FIND_IN_SET(s1,s2)函数,它返回在字符串s2中与s1匹配的字符串的位置
- REVERSE(s):返回将字符串s中字符倒序排列后的结果
- ASCII(s):返回字符串s的第一个字符的ASCII码
BIN(n):返回值为n的二进制的字符串表示
- BIT_LENGTH(s):返回值为二进制的字符串s的长度
- FIELD(s,s1,s2,...):返回第一个字符串s在字符串列表(s1,s2,...)中的位置
三、日期和时间函数 日期和时间函数主要用于处理表中的日期和时间数据,常见的日期和时间函数有: - CURDATE()或CURRENT_DATE():返回包含年月日的当前日期,格式为YYYY-MM-DD
例如,SELECT CURDATE()会返回当前系统日期
- CURTIME()或CURRENT_TIME():返回当前时间,格式为HH:MM:SS
- NOW()或CURRENT_TIMESTAMP()、LOCALTIME()、LOCALTIMESTAMP():返回当前的日期和时间,格式为YYYY-MM-DD HH:MM:SS
- YEAR(date):返回指定日期date的年份
- MONTH(date):返回指定日期date的月份
DAY(date):返回指定日期date的日
- HOUR(time):返回指定时间time的小时
- MINUTE(time):返回指定时间time的分钟
- SECOND(time):返回指定时间time的秒
- UNIX_TIMESTAMP(date):返回日期date的UNIX时间戳
UNIX时间戳是从1970年1月1日(UTC/GMT的午夜)开始到当前时间所经过的秒数(不考虑闰秒)
- DATE_FORMAT(date,format):根据format字符串格式化date值
例如,SELECT DATE_FORMAT(NOW(),%Y-%m-%d %H:%i:%s)会返回当前日期和时间,格式为YYYY-MM-DD HH:MM:SS
- DATE_ADD(date,INTERVAL num type):对日期时间进行加法运算
date为datetime或date型的起始时间,interval为固定关键词,num为需要增加的时间间隔,type用来指明num的对应单位(如YEAR、MONTH、DAY、HOUR等)
例如,SELECT D
MySQL脚本登录指南:快速上手教程
MySQL常用函数速查指南
利用MySQL Python API高效数据库操作
MySQL服务器数量揭秘
如何将TXT数据高效导入MySQL数据库:详细步骤指南
解决net stop mysql错误的方法
MySQL安装后无法连接解决指南
MySQL脚本登录指南:快速上手教程
利用MySQL Python API高效数据库操作
MySQL服务器数量揭秘
如何将TXT数据高效导入MySQL数据库:详细步骤指南
解决net stop mysql错误的方法
MySQL安装后无法连接解决指南
CentOS7安装MySQL5.5详细教程
MySQL错误1064解决方案速查
MySQL5.5 Canal性能优化指南
MySQL卸载重装后,解决页面显示异常的实用指南
pg转mysql神器:高效数据迁移工具
MySQL临时表数据上下拼接技巧