MySQL 函数大全

MySQL有很多内置函数。这个引用包含字符串、数字、日期和MySQL中的一些高级函数。

MySQL字符串函数

函数描述
ASCII返回特定字符的ASCII值
CHAR_LENGTH返回字符串的长度(以字符为单位)
CHARACTER_LENGTH返回字符串的长度(以字符为单位)
CONCAT将两个或多个表达式加在一起
CONCAT_WS将两个或多个表达式与分隔符相加
FIELD返回值在值列表中的索引位置
FIND_IN_SET返回字符串在字符串列表中的位置
FORMAT将数字格式化为“#,###,###。##”之类的格式,四舍五入到指定的小数位数
INSERT在指定位置的字符串中插入一定数量的字符的字符串
INSTR返回一个字符串在另一个字符串中首次出现的位置
LCASE将字符串转换为小写
LEFT从字符串中提取许多字符(从左开始)
LENGTH返回字符串的长度(以字节为单位)
LOCATE返回子字符串在字符串中首次出现的位置
LOWER将字符串转换为小写
LPAD将一个字符串与另一个字符串左移一定长度
LTRIM从字符串中删除前导空格
MID从字符串中提取子字符串(从任何位置开始)
POSITION返回子字符串在字符串中首次出现的位置
REPEAT重复指定次数的字符串
REPLACE用新的子字符串替换字符串中所有出现的子字符串
REVERSE反转字符串并返回结果
RIGHT从字符串中提取许多字符(从右开始)
RPAD将一个字符串与另一个字符串右移一定长度
RTRIM从字符串中删除尾随空格
SPACE返回指定数量的空格字符的字符串
STRCMP比较两个字符串
SUBSTR从字符串中提取子字符串(从任何位置开始)
SUBSTRING从字符串中提取子字符串(从任何位置开始)
SUBSTRING_INDEX在指定数目的定界符出现之前返回字符串的子字符串
TRIM从字符串中删除前导和尾随空格
UCASE将字符串转换为大写
UPPER将字符串转换为大写

MySQL数值函数

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

MySQL日期函数

函数描述
ADDDATE将时间/日期间隔添加到日期,然后返回日期
ADDTIME将时间间隔添加到时间/日期时间,然后返回时间/日期时间
CURDATE返回当前日期
CURRENT_DATE返回当前日期
CURRENT_TIME返回当前时间
CURRENT_TIMESTAMP返回当前日期和时间
CURTIME返回当前时间
DATE从日期时间表达式中提取日期部分
DATEDIFF返回两个日期值之间的天数
DATE_ADD将时间/日期间隔添加到日期,然后返回日期
DATE_FORMAT格式化日期
DATE_SUB从日期中减去时间/日期间隔,然后返回日期
DAY返回给定日期的月份
DAYNAME返回给定日期的工作日名称
DAYOFMONTH返回给定日期的月份
DAYOFWEEK返回给定日期的工作日索引
DAYOFYEAR返回给定日期的一年中的一天
EXTRACT

从给定的日期中提取部分日期

FROM_DAYS从数字日期值返回日期
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返回当前日期和时间
TIME从给定的时间/日期时间中提取时间部分
TIME_FORMAT用指定的格式格式化时间
TIME_TO_SEC将时间值转换为秒
TIMEDIFF返回两个时间/日期时间表达式之间的差
TIMESTAMP根据日期或日期时间值返回日期时间值
TO_DAYS返回日期和日期“ 0000-00-00”之间的天数
WEEK返回给定日期的星期数
WEEKDAY返回给定日期的星期几
WEEKOFYEAR返回给定日期的星期数
YEAR返回给定日期的年份部分
YEARWEEK返回给定日期的年和周号

MySQL高级函数

函数描述
BIN返回数字的二进制表示形式
BINARY将值转换为二进制字符串
CASE满足条件并在满足第一个条件时返回值
CAST将值(任何类型)转换为指定的数据类型
COALESCE返回列表中的第一个非空值
CONNECTION-ID返回当前连接的唯一连接ID
CONV将数字从一个数字基本系统转换为另一个数字
CONVERT将值转换为指定的数据类型或字符集
CURRENT_USER返回服务器用来认证当前客户端的MySQL帐户的用户名和主机名
DATABASE返回当前数据库的名称
IF如果条件为TRUE,则返回一个值;如果条件为FALSE,则返回另一个值
IFNULL如果表达式为NULL,则返回指定的值,否则返回表达式
ISNULL根据表达式是否为NULL返回1或0
LAST_INSERT_ID返回表中已插入或更新的最后一行的AUTO-INCREMENT ID
NULLIF比较两个表达式,如果相等则返回NULL。否则,返回第一个表达式
SESSION_USER返回当前的MySQL用户名和主机名
SYSTEM_USER返回当前的MySQL用户名和主机名
USER返回当前的MySQL用户名和主机名
VERSION返回MySQL数据库的当前版本