MySQL常用函数速查指南
mysql 常用函数

首页 2025-07-21 14:16:17



MySQL常用函数详解 MySQL作为广泛使用的关系型数据库管理系统,提供了丰富多样的内置函数,帮助开发者高效地进行数据处理和操作

    这些函数涵盖了数值计算、字符串操作、日期时间处理、聚合分析以及条件判断等多个方面

    掌握这些常用函数,能够显著提升数据库操作的灵活性和效率

    以下是对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

nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密