MySQL 有许多内置函数。为了方便参考,提供了所有 MySQL 函数的列表。这些函数可以在 MySQL 中的查询中使用,也可以在 MySQL 数据库提供的编程环境中使用,比如存储过程、函数、

下面是MySQL函数列表,按类别排序:

MySQL字符串函数

函数描述
ASCII() 返回特定字符的 ASCII 值
BIT_LENGTH()返回参数长度(以位为单位)
CHAR()返回 传递的每个整数的字符
CHAR_LENGTH()返回a的长度 字符串(以字符为单位)
CHARACTER_LENGTH()返回字符串的长度 (以字符为单位)
CONCAT()将两个或多个表达式添加在一起
CONCAT_WS()将两个或多个表达式与分隔符一起添加
EXPORT_SET()返回一个字符串,其中包含每个设置位的 ON 字符串 值位,以及值位中每个未设置位的 OFF 字符串。
FIELD()返回值列表中某个值的索引位置
FIND_IN_SET()返回字符串列表中字符串的位置
FORMAT()将数字格式化为"#,###,###.##"等格式,四舍五入到指定的小数位数
INSERT()在指定位置的字符串中插入一定数量的字符
INSTR()返回一个字符串在另一个字符串中第一次出现的位置
LCASE()将字符串转换为小写
LEFT()从字符串中提取多个字符(从左开始)
LENGTH()返回字符串的长度(以字节为单位)
LOCATE()返回子字符串在字符串中第一次出现的位置
LOWER()将字符串转换为小写
LPAD()用另一个字符串向左填充另一个字符串,达到一定长度
LTRIM()删除字符串中的前导空格
MAKE_SET()返回一组以逗号分隔的字符串,这些字符串在位中设置了相应的位
MID()从字符串中提取子字符串(从任意位置开始)
OCTET_LENGTH()返回字符串的长度(以字节为单位)
ORD()返回参数最左边字符的字符代码
POSITION()返回子字符串在字符串中第一次出现的位置
QUOTE()转义参数以在 SQL 语句中使用
REPEAT()按照指定次数重复字符串
REPLACE()用新的子字符串替换字符串中所有出现的子字符串
REVERSE()反转字符串并返回结果
RIGHT()从字符串中提取多个字符(从右开始)
RPAD()将一个字符串与另一个字符串右填充到一定长度
RTRIM()删除字符串尾随空格
SPACE()返回指定数量空格字符的字符串
STRCMP()比较两个字符串
SUBSTR()从字符串中提取子字符串(从任意位置开始)
SUBSTRING()从字符串中提取子字符串(从任意位置开始)
SUBSTRING_INDEX()返回字符串中出现指定数量分隔符之前的子字符串
TRIM()删除字符串的前导和尾随空格
UCASE()将字符串转换为大写
UPPER() 将字符串转换为大写

MySQL REGEXP 函数和运算符

名称描述
NOT REGEXPREGEXP 的否定
NOT RLIKERLIKE 的否定
REGEXP用于检查字符串是否匹配正则表达式
REGEXP_INSTR() 匹配正则表达式的子串起始索引
REGEXP_LIKE() 字符串是否匹配正则表达式
REGEXP_REPLACE()替换匹配正则表达式的子串
REGEXP_SUBSTR()返回匹配正则表达式的子串
RLIKE用于检查字符串是否匹配正则表达式

MySQL 数学/数字函数

函数描述
ABS()返回a的绝对值 number
ACOS()返回数字的反余弦
ASIN()返回数字的反正弦
ATAN()返回一个或两个数字的反正切
ATAN2()返回两个数字的反正切
AVG()返回表达式的平均值
CEIL()返回大于等于数字的最小整数
CEILING()返回大于等于数字的最小整数
COS()返回角度的三角余弦
COT()返回角度的三角余切
COUNT()返回选择查询返回的记录数
CRC32()计算循环冗余校验值
DEGREES( )将弧度值转换为度数
DIV()用于整数除法
EXP()返回 e 的指定数字次方
FLOOR()返回小于等于数字的最大整数值
GREATEST()返回参数列表中的最大值
LEAST()返回参数列表中的最小值
LN()返回 数字的自然对数
LOG()返回a的自然对数 数字,或数字到指定底数的对数
LOG10()返回数字以 10 为底的对数
LOG2()返回 数字以 2 为底的对数
MAX()返回最大值 一组值中的值
MIN()返回 一组值
MOD()返回数字相除后的余数 另一个数字
PI()返回PI的值
POW()返回一个数字的另一个数字次方的值
POWER()返回一个数字的幂的值 number
RADIANS()将角度值转换为弧度
RAND()返回随机数
ROUND()将数字四舍五入到指定的小数位数
SIGN()返回数字的符号
SIN()返回角度的三角正弦
SQRT()返回数字的平方根
SUM()计算一组值的总和
TAN() 返回角度的三角正切
TRUNCATE() 将数字截断至指定的小数位数

MySQL 日期/时间函数

函数描述
ADDDATE()将时间/日期间隔添加到日期/日期时间,然后返回日期/日期时间
ADDTIME()向时间/日期时间添加时间间隔,然后返回时间/日期时间值
CONVERT_TZ()将日期/日期时间值从一个时区转换为另一个时区
CURDATE()返回当前日期
CURRENT_DATE()返回当前日期
CURRENT_TIME()返回当前时间
CURRENT_TIMESTAMP()返回当前日期和时间
CURTIME()返回当前时间
DATE()从日期/日期时间表达式中提取日期部分
DATEDIFF()返回两个日期/日期时间值之间的天数
DATE_ADD()向日期添加时间/日期间隔,然后返回日期
DATE_FORMAT()按指定格式格式化日期或日期时间值
DATE_SUB()从日期中减去时间/日期间隔,然后返回日期
DAY()返回给定日期/日期时间值的月份中的某一天
DAYNAME()返回给定日期/日期时间值的工作日名称
DAYOFMONTH()返回给定日期/日期时间的月份中的第几天 value
DAYOFWEEK()返回给定日期/日期时间的工作日索引 value
DAYOFYEAR()返回给定日期是一年中的第几天 /datetime value
EXTRACT()从给定日期中提取一部分
FROM_DAYS()从数字日期值返回日期
FROM_UNIXTIME()返回给定 Unix 时间戳的日期/日期时间值
GET_FORMAT()返回格式字符串
HOUR()返回给定日期/日期时间值的小时部分
LAST_DAY()提取给定日期/数据时间值该月的最后一天
LOCALTIME()返回当前日期和时间
LOCALTIMESTAMP()返回当前日期和时间
MAKEDATE()根据年份和天数值创建并返回日期
MAKETIME()根据小时、分钟和秒值创建并返回时间
MICROSECOND()返回时间/日期时间值的微秒部分
MINUTE()返回时间/日期时间值的分钟部分
MONTH()返回给定日期/日期时间值的月份部分
MONTHNAME()返回给定日期/日期时间值的月份名称
NOW()返回当前日期和时间
PERIOD_ADD()在一段时间内添加指定的月份数
PERIOD_DIFF()返回两个周期之间的差异
QUARTER()返回给定日期/日期时间值的一年中的季度
SECOND()返回时间/日期时间值的第二部分
SEC_TO_TIME()根据指定秒返回时间值
STR_TO_DATE()根据字符串和格式返回日期
SUBDATE()从日期/日期时间中减去时间/日期间隔,然后返回日期/日期时间
SUBTIME()从时间/日期时间中减去时间间隔,然后返回时间/日期时间值
SYSDATE()返回当前数据e和时间
TIME()从给定时间中提取时间部分 /datetime value
TIME_FORMAT()按格式设置时间或日期时间值 指定格式
TIME_TO_SEC()将时间值转换为秒
TIMEDIFF()返回两个时间/日期时间表达式之间的差异
TIMESTAMP()根据日期或日期时间值返回日期时间值
TIMESTAMPADD()向日期/日期时间值添加间隔
TIMESTAMPDIFF()从日期/日期时间值中减去间隔
TO_DAYS()返回日期/日期时间与日期"0000-00-00"之间的天数
TO_SECONDS()返回自 0 年以来转换为秒数的日期或日期时间参数
UNIX_TIMESTAMP()返回 Unix 时间戳
UTC_DATE()返回当前UTC日期
UTC_TIME()返回当前UTC时间
UTC_TIMESTAMP()返回当前 UTC 日期和时间
WEEK()返回给定日期/日期时间值的周数
WEEKDAY()返回给定日期/日期时间值的工作日数
WEEKOFYEAR()返回给定日期/日期时间值的周数
YEAR()返回给定日期/日期时间值的年份部分
YEARWEEK()返回给定日期/日期时间值的年和周数

MySQL高级函数

函数描述
BIN()返回数字的二进制表示
BINARY()将值转换为二进制字符串
CASE()遍历条件并在满足第一个条件时返回一个值
CAST()将值(任何类型)转换为指定的数据类型
COALESCE()返回列表中的第一个非空值
CONNECTION_ID()返回当前连接的唯一连接ID
CONV()将数字从一种数字基本系统转换为另一种数字基本系统
CONVERT()将值转换为指定的数据类型或字符集
CURRENT_USER()返回服务器用于验证当前客户端的 MySQL 帐户的用户名和主机名
DATABASE()返回当前数据库的名称
ELT()返回指定索引号处的字符串
FROM_BASE64()解码base-64编码的字符串并返回结果
HEX ()返回包含十进制或字符串值的十六进制表示形式的字符串
IF ()如果条件为 TRUE,则返回一个值;如果条件为 FALSE,则返回另一个值
IFNULL()如果表达式为NULL,则返回指定值,否则返回表达式。
ISNULL()根据表达式是否为 NULL 返回 1 或 0
LAST_INSERT_ID()返回表中已插入或更新的最后一行的 AUTO_INCRMENT id
NULLIF()比较两个表达式,如果相等则返回 NULL。 否则,返回第一个表达式
OCT()返回包含以下内容的字符串 数字的八进制表示
SESSION_USER()返回当前MySQL用户名 和主机名
SOUNDEX()返回 soundex 字符串
SOUNDS LIKE比较两个表达式的 soundex 字符串
SYSTEM_USER()返回当前MySQL用户名和主机名e
TO_BASE64()返回转换为base-64字符串的参数
UNHEX()返回包含数字十六进制表示形式的字符串
USER()返回当前MySQL用户名和主机名
VERSION()返回MySQL数据库的当前版本

MySQL 加密函数

函数说明
ENCRYPT()使用 UNIX crypt() 加密字符串
MD5()返回字符串的 MD5 128 位校验和表示
OLD_PASSWORD()由 MySQL 中的身份验证系统用于生成哈希密码 明文密码字符串
PASSWORD()由MySQL中的身份验证系统使用 使用更强大的哈希技术从纯文本密码字符串生成哈希密码
SHA()返回字符串的 SHA-1 160 位校验和表示
SHA1()返回字符串的 SHA-1 160 位校验和表示
SHA2()计算 SHA-2 系列哈希函数